mirror of
https://github.com/roc-lang/roc.git
synced 2025-09-28 06:14:46 +00:00
skeleton for caching stdlib subs
This commit is contained in:
parent
1716879f82
commit
afee877cf1
3 changed files with 83 additions and 18 deletions
|
@ -32,22 +32,6 @@ fn load<'a>(
|
|||
)
|
||||
}
|
||||
|
||||
const BOOL: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/Bool.dat")) as &[_];
|
||||
|
||||
fn deserialize_help(bytes: &[u8]) -> (Subs, Vec<(Symbol, Variable)>) {
|
||||
let (subs, slice) = Subs::deserialize(bytes);
|
||||
|
||||
(subs, slice.to_vec())
|
||||
}
|
||||
|
||||
fn read_cached_subs() -> MutMap<ModuleId, (Subs, Vec<(Symbol, Variable)>)> {
|
||||
let mut output = MutMap::default();
|
||||
|
||||
output.insert(ModuleId::BOOL, deserialize_help(BOOL));
|
||||
|
||||
output
|
||||
}
|
||||
|
||||
pub fn load_and_monomorphize_from_str<'a>(
|
||||
arena: &'a Bump,
|
||||
filename: PathBuf,
|
||||
|
@ -120,3 +104,33 @@ pub fn load_and_typecheck<'a>(
|
|||
TypeChecked(module) => Ok(module),
|
||||
}
|
||||
}
|
||||
|
||||
const BOOL: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/Bool.dat")) as &[_];
|
||||
// const RESULT: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/Result.dat")) as &[_];
|
||||
// const LIST: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/List.dat")) as &[_];
|
||||
// const STR: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/Str.dat")) as &[_];
|
||||
// const DICT: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/Dict.dat")) as &[_];
|
||||
// const SET: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/Set.dat")) as &[_];
|
||||
// const BOX: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/Box.dat")) as &[_];
|
||||
// const NUM: &[u8] = include_bytes!(concat!(env!("OUT_DIR"), "/Num.dat")) as &[_];
|
||||
|
||||
fn deserialize_help(bytes: &[u8]) -> (Subs, Vec<(Symbol, Variable)>) {
|
||||
let (subs, slice) = Subs::deserialize(bytes);
|
||||
|
||||
(subs, slice.to_vec())
|
||||
}
|
||||
|
||||
fn read_cached_subs() -> MutMap<ModuleId, (Subs, Vec<(Symbol, Variable)>)> {
|
||||
let mut output = MutMap::default();
|
||||
|
||||
output.insert(ModuleId::BOOL, deserialize_help(BOOL));
|
||||
// output.insert(ModuleId::RESULT, deserialize_help(RESULT));
|
||||
// output.insert(ModuleId::LIST, deserialize_help(LIST));
|
||||
// output.insert(ModuleId::STR, deserialize_help(STR));
|
||||
// output.insert(ModuleId::DICT, deserialize_help(DICT));
|
||||
// output.insert(ModuleId::SET, deserialize_help(SET));
|
||||
// output.insert(ModuleId::BOX, deserialize_help(BOX));
|
||||
// output.insert(ModuleId::NUM, deserialize_help(NUM));
|
||||
|
||||
output
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue