17 lines
730 B
Rust
17 lines
730 B
Rust
|
pub mod prelude;
|
||
|
pub mod io;
|
||
|
pub mod iter;
|
||
|
pub mod math;
|
||
|
|
||
|
#[macro_export]
|
||
|
macro_rules! declare_fn {
|
||
|
($env:ident, $name:ident, $arg_count:literal) => {::paste::paste!{{
|
||
|
let s: ::std::rc::Rc<str> = ::std::rc::Rc::from(stringify!($name));
|
||
|
$env.declare(s.clone(), ::complexpr::value::Value::Func(::complexpr::value::func::Func::Builtin { func: [<fn_ $name>], arg_count: $arg_count, name: s }));
|
||
|
}}};
|
||
|
($env:ident, $name:literal, $rust_name:ident, $arg_count:literal) => {{
|
||
|
let s: ::std::rc::Rc<str> = ::std::rc::Rc::from($name);
|
||
|
$env.declare(s.clone(), ::complexpr::value::Value::Func(::complexpr::value::func::Func::Builtin { func: $rust_name, arg_count: $arg_count, name: s }));
|
||
|
}};
|
||
|
}
|