implement basic namespacing for types, traits and commands

This commit is contained in:
Schrottkatze 2023-11-16 19:22:26 +01:00
commit b6b8c5085a
5 changed files with 287 additions and 6 deletions

14
src/builtins/mod.rs Normal file
View file

@ -0,0 +1,14 @@
use self::namespace::{GlobalNamespace, TypeDef};
pub mod namespace;
pub fn initialise_globals() -> GlobalNamespace {
let mut ns = GlobalNamespace::init();
let numeric = ns.register_trait("Numeric").unwrap();
ns.register_type("integer").unwrap().add_trait(&numeric);
ns.register_type("float").unwrap().add_trait(&numeric);
ns
}