Crate surreal

Crate surreal 

Source
Expand description

Surreal - A programming language with Rust-like syntax and Erlang-style concurrency.

Surreal compiles to Core Erlang for BEAM execution or to bytecode for the Surreal VM.

§Features

  • Process spawning with parent tracking
  • Message passing between processes
  • Process links (bidirectional crash notification)
  • Process monitors (one-way crash notification)
  • Process registry for named processes
  • Receive with timeout
  • Cooperative scheduling with reduction budgets

Modules§

bindgen
Generate .surreal binding files from Erlang and Elixir source files.
compiler
Compiler for the Surreal language.
config
Project configuration for Surreal projects.
deps
Dependency management for Surreal projects.
lsp
Language Server Protocol (LSP) implementation for Surreal.

Structs§

BitSegment
A segment specification for binary construction or matching
CallFrame
A frame on the call stack, enabling cross-module calls.
FunctionDef
Definition of a function within a module.
Module
A compiled module containing functions.
Pid
Process identifier
Process
Process state
Register
Register index (processes have a small set of registers)
Scheduler
The scheduler / VM state
TryFrame
A frame on the exception handler stack for try/catch/after.

Enums§

BitType
Type specifier for a binary segment
Endianness
Endianness for multi-byte values
Instruction
Bytecode instructions
Message
Messages sent between processes
Operand
An operand for arithmetic/comparison operations
Pattern
A pattern for matching values
ProcessStatus
Process execution status
SegmentSource
Source of a segment value for binary construction
Signedness
Signedness for integer values
Source
Where to read a value from
StepResult
Result of stepping the scheduler
SystemMsg
System-level messages
Value
Runtime value stored in registers