Expand description
This crate contains contains the implementation for the gluon programming language.
Gluon is a programming language suitable for embedding in an existing application to extend its behaviour. For information about how to use this library the best resource currently is the tutorial which contains examples on how to write gluon programs as well as how to run them using this library.
Re-exports
pub extern crate gluon_base as base;
pub extern crate gluon_check as check;
pub extern crate either;
pub extern crate gluon_parser as parser;
pub extern crate gluon_vm as vm;
pub use salsa;
Modules
- Advanced compiler pipeline which ensures that the compilation phases are run in order even if not the entire compilation procedure is needed.
- Implementation of the
import!
macro.
Macros
- Declares fields useable by the record macros
- Creates a
GluonFunction
from a function implementingVMFunction
- Macro that creates a record that can be passed to gluon
- Creates a pattern which matches on marshalled gluon records
- Creates a Rust type compatible with the type of
record_no_decl!
Structs
- An instance of
Thread
which is rooted. See theThread
type for documentation on interacting with the type. - Representation of the virtual machine
Enums
- Error type wrapping all possible errors that can be generated from gluon
Constants
Traits
- Extension trait which provides methods to load and execute gluon code
Functions
- Creates a new virtual machine with support for importing other modules and with all primitives loaded.
Type Aliases
- Type alias for results returned by gluon