


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 : (Int -> 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(Int ),
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(Int ),
new_symbolmapstack:symbolmapstack::Symbolmapstack,
picklehash:picklehash::Picklehash};
};


