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§
- compiler_
pipeline - Advanced compiler pipeline which ensures that the compilation phases are run in order even if not the entire compilation procedure is needed.
- import
- Implementation of the
import!
macro. - lift_io
- std_lib
Macros§
- field_
decl - Declares fields useable by the record macros
- primitive
- Creates a
GluonFunction
from a function implementingVMFunction
- record
- Macro that creates a record that can be passed to gluon
- record_
p - Creates a pattern which matches on marshalled gluon records
- record_
type - Creates a Rust type compatible with the type of
record_no_decl!
Structs§
- IoError
- Module
Compiler - Rooted
Thread - An instance of
Thread
which is rooted. See theThread
type for documentation on interacting with the type. - Settings
- Thread
- Representation of the virtual machine
- VmBuilder
Enums§
- Error
- Error type wrapping all possible errors that can be generated from gluon
Constants§
Traits§
- Thread
Ext - Extension trait which provides methods to load and execute gluon code
Functions§
- new_vm
- Creates a new virtual machine with support for importing other modules and with all primitives loaded.
- new_
vm_ async
Type Aliases§
- Result
- Type alias for results returned by gluon