PreviousUpNext

14.5.30  Pickler_Junk

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};
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext