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
41
42
43
44
45
46
47
48
49
use self::{builtins::*, core::load_core};
use crate::{
ll::value::{Dict, RawValue},
CoreLibrary, Engine, Error, TypeBuilder,
};
mod builtins;
mod core;
mod gc;
mod iterators;
mod pair;
pub use pair::*;
#[derive(Debug, Clone, Copy)]
pub struct Lib;
impl CoreLibrary for Lib {
fn define_nil(&mut self, builder: TypeBuilder<()>) -> TypeBuilder<()> {
builder
}
fn define_boolean(&mut self, builder: TypeBuilder<bool>) -> TypeBuilder<bool> {
builder
}
fn define_number(&mut self, builder: TypeBuilder<f64>) -> TypeBuilder<f64> {
number::define(builder)
}
fn define_string(&mut self, builder: TypeBuilder<String>) -> TypeBuilder<String> {
string::define(builder)
}
fn define_list(&mut self, builder: TypeBuilder<Vec<RawValue>>) -> TypeBuilder<Vec<RawValue>> {
list::define(builder)
}
fn define_dict(&mut self, builder: TypeBuilder<Dict>) -> TypeBuilder<Dict> {
dict::define(builder)
}
fn load(&mut self, engine: &mut Engine) -> Result<(), Error> {
load_core(engine)
}
}