pub mod callback;
pub mod class;
pub mod context;
pub mod function;
pub mod list;
pub mod value;
mod runtime;
pub use class::{Class, Slot};
pub use context::LispContext;
pub use function::Function;
pub use list::{ListError, ListIter};
pub use runtime::{Lisp, LispError};
pub use value::{Value, ValueError, ValueRef};
pub use eclisp_sys as sys;
#[macro_export]
macro_rules! register_functions {
($ctx:expr, $($name:literal => $callback:expr),+ $(,)?) => {{
$(
$ctx.defun($name, $callback)?;
)+
Ok::<(), eclisp::LispError>(())
}};
}