PreviousUpNext

15.3.226  src/lib/compiler/front/basics/map/picklehash-mapstack.api

## picklehash-mapstack.api

# Compiled by:
#     src/lib/compiler/front/basics/basics.sublib



# Dictionaries that bind pickle hashes (compiled SML file identifiers).
# These get macro expanded to linking and inlining dictionaries by the compiler.



stipulate
    package ph  =  picklehash;                  # picklehash            is from   src/lib/compiler/front/basics/map/picklehash.pkg
herein

    # This api is implemented in:
    #
    #     src/lib/compiler/front/basics/map/picklehash-mapstack-g.pkg
    #
    api Picklehash_Mapstack {
        #
        Values_Type;

        Picklehash_Mapstack;

        empty:  Picklehash_Mapstack;

        get:  Picklehash_Mapstack -> ph::Picklehash -> Null_Or(Values_Type);


        make:  (Null_Or(ph::Picklehash), Null_Or(Values_Type))          -> Picklehash_Mapstack;

        from_listi:  List ((ph::Picklehash, Values_Type))               -> Picklehash_Mapstack;

        singleton:  (ph::Picklehash, Values_Type)                       -> Picklehash_Mapstack;

        bind:  (ph::Picklehash, Values_Type, Picklehash_Mapstack)       ->  Picklehash_Mapstack;

        atop:  (Picklehash_Mapstack, Picklehash_Mapstack)       -> Picklehash_Mapstack;

        remove:  (List(ph::Picklehash), Picklehash_Mapstack)    -> Picklehash_Mapstack;

        consolidate:  Picklehash_Mapstack                               -> Picklehash_Mapstack;



        keyvals_list:  Picklehash_Mapstack -> List ((ph::Picklehash, Values_Type));


    };
end;



## (C) 2001 Lucent Technologies, Bell Labs
## Subsequent changes by Jeff Prothero Copyright (c) 2010-2015,
## released per terms of SMLNJ-COPYRIGHT.


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext