[][src]Crate gluon

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 either;
pub extern crate gluon_base as base;
pub extern crate gluon_check as check;
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 implementing VMFunction

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
ModuleCompiler
RootedThread

An instance of Thread which is rooted. See the Thread 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

PRELUDE

Traits

ThreadExt

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 Definitions

Result

Type alias for results returned by gluon