PreviousUpNext

14.5.42  Symbolmapstack

The standard library Symbolmapstack api defines access to one of the three core compiler state tables, the other two being Linking_Mapstack and Inlining_Mapstack.

The Symbolmapstack api is implemented by the symbolmapstack package.

The Symbolmapstack api source code is in src/lib/compiler/front/typer-stuff/symbolmapstack/symbolmapstack.api.

The above information is manually maintained and may contain errors.

api {    Symbolmapstack ;
    Entry  = symbolmapstack_entry::Symbolmapstack_Entry;
    Full_Entry  =
      {entry:Entry, 
       modtree:Null_Or(module_level_declarations::Modtree )};
    exception UNBOUND;
    empty : Symbolmapstack;
    get : (Symbolmapstack , symbol::Symbol) -> Entry;
    bind : (symbol::Symbol , Entry , Symbolmapstack)
           -> Symbolmapstack;
    special : ((symbol::Symbol -> Entry)
               , (Void -> List(symbol::Symbol )))
              -> Symbolmapstack;
    atop : (Symbolmapstack , Symbolmapstack) -> Symbolmapstack;
    consolidate : Symbolmapstack -> Symbolmapstack;
    consolidate_lazy : Symbolmapstack -> Symbolmapstack;
    apply : ((symbol::Symbol , Entry) -> Void)
            -> Symbolmapstack -> Void;
    map : (Entry -> Entry) -> Symbolmapstack -> Symbolmapstack;
    fold : ((((symbol::Symbol , Entry)) , X) -> X)
           -> X -> Symbolmapstack -> X;
    fold_full_entries : ((((symbol::Symbol , Full_Entry)) , X) -> X)
                        -> X -> Symbolmapstack -> X;
    to_sorted_list : Symbolmapstack -> List(((symbol::Symbol , Entry)) );
    bind_full_entry : (symbol::Symbol , Full_Entry , Symbolmapstack)
                      -> Symbolmapstack;
    symbols : Symbolmapstack -> List(symbol::Symbol );
    filter : (Symbolmapstack , List(symbol::Symbol ))
             -> Symbolmapstack;
};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext