The compiler Pickler_Junk api defines access to functionality for “pickling” compiled files. By “pickling” we mean serializing the in-memory datastructure as a bytestream and then writing it into a .compiled diskfile. These diskfiles serve the same logical function as traditional unix .o object-code files, although they use an unrelated file format, one more suited to the needs of the Mythryl platform.
The Pickler_Junk api is implemented by the pickler_junk package.
The Pickler_Junk api source code is in src/lib/compiler/front/semantic/pickle/pickler-junk.api.
See also: Unpickler_Junk.
The above information is manually maintained and may contain errors.
api { Pickling_Context = FREEZEFILE_PICKLING List(((Null_Or(((Int , symbol::Symbol)) ) , stampmapstack::Stampmapstack)) ) | INITIAL_PICKLING stampmapstack::Stampmapstack | REPICKLING picklehash::Picklehash; Map; empty_map : Map; make_symbolmapstack_funtree : (highcode_codetemp::Codetemp -> Void) -> Pickling_Context -> ?.pickler::To_Funtree((Map, symbolmapstack::Symbolmapstack)); make_inlining_mapstack_funtree : ?.pickler::To_Funtree((Map, inlining_mapstack::Picklehash_To_Anormcode_Mapstack)); pickle_symbolmapstack : Pickling_Context -> symbolmapstack::Symbolmapstack -> {exported_highcode_variables:List(highcode_codetemp::Codetemp ), pickle:vector_of_one_byte_unts::Vector, picklehash:picklehash::Picklehash}; pickle_highcode_program : Null_Or(anormcode_form::Function ) -> {pickle:vector_of_one_byte_unts::Vector, picklehash:picklehash::Picklehash}; hash_pickle : vector_of_one_byte_unts::Vector -> picklehash::Picklehash; dont_pickle : {count:Int, symbolmapstack:symbolmapstack::Symbolmapstack} -> {exported_highcode_variables:List(highcode_codetemp::Codetemp ), new_symbolmapstack:symbolmapstack::Symbolmapstack, picklehash:picklehash::Picklehash};};