Crate rusche

Crate rusche 

Source
Expand description

Rusche is a library for writing an interpreter for a Scheme-like language in Rust. It lets you embed a Scheme interpreter into your Rust applications, allowing you to use Scheme as a scripting language or to create standalone Scheme interpreters.

To learn how to implement or embed a Rusche interpreter, please have a look at rusche-cli.

To learn more about the Rusche language, please have a look at *.rsc files in the examples directory, or have a look at the preludes in the src/prelude.rs file.

Re-exports§

pub use env::Env;
pub use eval::eval;
pub use eval::eval_tail;
pub use eval::EvalContext;
pub use eval::EvalError;
pub use eval::EvalResult;
pub use eval::Evaluator;
pub use expr::intern;
pub use expr::Expr;
pub use expr::Foreign;
pub use expr::NIL;
pub use lexer::tokenize;
pub use lexer::LexError;
pub use lexer::Lexer;
pub use list::cons;
pub use list::Cons;
pub use list::List;
pub use list::ListIter;
pub use parser::ParseError;
pub use parser::Parser;
pub use proc::NativeFunc;
pub use proc::Proc;
pub use span::Loc;
pub use span::Span;
pub use token::Token;
pub use utils::eval_into_foreign;
pub use utils::eval_into_int;
pub use utils::get_exact_1_arg;
pub use utils::get_exact_2_args;

Modules§

env
eval
expr
lexer
list
parser
proc
span
token
utils

Macros§

list
A macro for creating crate::list::List.