pub mod build_check;
pub mod channel;
pub mod code;
pub mod env;
pub mod error;
pub mod eval;
pub mod ffi;
pub mod fiber;
pub mod hof;
pub mod interner;
pub mod lisp_stdlib;
pub mod map;
pub mod module;
pub mod primitive;
pub mod repl;
pub mod special;
pub mod type_check;
pub mod value;
pub mod vm;
pub use env::Env;
pub use error::{EvalError, Result};
pub use eval::Interpreter;
pub use ffi::{Arity, Caller, FromValue, HigherOrderCallable, IntoValue, NativeCallable};
pub use hof::install_hof;
pub use lisp_stdlib::install_lisp_stdlib_with;
pub use map::install_map;
pub use module::{
FilesystemLoader, Loader, MapLoader, Module, ModuleError, ModuleRegistry, NoLoader,
};
pub use primitive::install_primitives;
pub use repl::ReplSession;
pub use value::{ErrorObj, MapKey, Value};
pub fn install_full_stdlib_with<H: 'static>(interp: &mut Interpreter<H>, host: &mut H) {
install_primitives(interp);
install_hof(interp);
install_map(interp);
channel::install_channels(interp);
fiber::install_fibers(interp);
type_check::install_type_check(interp);
install_lisp_stdlib_with(interp, host);
}
pub use tatara_lisp::{read, read_spanned, Sexp, Span, Spanned, SpannedExpander, SpannedForm};