1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
use cfg_if::cfg_if;
cfg_if! {
if #[cfg(feature = "bigint")] {
use num_bigint::BigInt;
}
}
cfg_if! {
if #[cfg(feature = "bigint")] { pub type IntType = BigInt; }
else if #[cfg(feature = "i128")] { pub type IntType = i128; }
else if #[cfg(feature = "i64")] { pub type IntType = i64; }
else if #[cfg(feature = "i16")] { pub type IntType = i16; }
else if #[cfg(feature = "i8")] { pub type IntType = i8; }
else {
pub type IntType = i32;
}
}
cfg_if! {
if #[cfg(feature = "f64")] { pub type FloatType = f64; }
else {
pub type FloatType = f32;
}
}
mod env;
mod lambda;
mod list;
mod runtime_error;
mod symbol;
mod value;
pub use env::Env;
pub use lambda::Lambda;
pub use list::List;
pub use runtime_error::RuntimeError;
pub use symbol::Symbol;
pub use value::{HashMapRc, NativeFunc, Value};