surreal/
lib.rs

1#![deny(warnings)]
2
3//! Surreal - A programming language with Rust-like syntax and Erlang-style concurrency.
4//!
5//! Surreal compiles to Core Erlang for BEAM execution or to bytecode for the Surreal VM.
6//!
7//! ## Features
8//! - Process spawning with parent tracking
9//! - Message passing between processes
10//! - Process links (bidirectional crash notification)
11//! - Process monitors (one-way crash notification)
12//! - Process registry for named processes
13//! - Receive with timeout
14//! - Cooperative scheduling with reduction budgets
15
16pub mod bindgen;
17pub mod compiler;
18pub mod config;
19pub mod deps;
20mod instruction;
21pub mod lsp;
22mod message;
23mod module;
24mod pid;
25mod process;
26mod scheduler;
27mod value;
28
29#[cfg(target_arch = "wasm32")]
30pub mod wasm;
31
32// Re-export public API
33pub use instruction::{
34    BitSegment, BitType, Endianness, Instruction, Operand, Pattern, Register, SegmentSource,
35    Signedness, Source,
36};
37pub use message::{Message, SystemMsg};
38pub use module::{FunctionDef, Module};
39pub use pid::Pid;
40pub use process::{CallFrame, Process, ProcessStatus, TryFrame};
41pub use scheduler::{Scheduler, StepResult};
42pub use value::Value;