PreviousUpNext

14.4.116  Truplebase

The standard library Tuplbase api defines the interface for the pkg:tubplebase package.

The Tuplebase api is implemented by the tuplebase package.

The Tuplebase api source code is in src/lib/src/tuplebase.api. The above information is manually maintained and may contain errors.

api {
    Other  = Exception;
    Tuplebase;
    Atom;
    Duple  = (Atom , Atom);
    Triple  = (Atom , Atom , Atom);
        package ds
          : api {   package key
                      : api {
                            Key;
                            compare : (Key , Key) -> Order;};;
                Item  = key::Key;
                Set;
                empty : Set;
                singleton : Item -> Set;
                from_list : List(Item ) -> Set;
                add : (Set , Item) -> Set;
                add' : (Item , Set) -> Set;
                add_list : (Set , List(Item )) -> Set;
                drop : (Set , Item) -> Set;
                member : (Set , Item) -> Bool;
                preceding_member : (Set , Item) -> Null_Or(Item );
                following_member : (Set , Item) -> Null_Or(Item );
                is_empty : Set -> Bool;
                equal : (Set , Set) -> Bool;
                compare : (Set , Set) -> Order;
                is_subset : (Set , Set) -> Bool;
                vals_count : Set -> Int;
                vals_list : Set -> List(Item );
                union : (Set , Set) -> Set;
                intersection : (Set , Set) -> Set;
                difference : (Set , Set) -> Set;
                map : (Item -> Item) -> Set -> Set;
                apply : (Item -> Void) -> Set -> Void;
                fold_forward : ((Item , X) -> X) -> X -> Set -> X;
                fold_backward : ((Item , X) -> X) -> X -> Set -> X;
                partition : (Item -> Bool) -> Set -> (Set , Set);
                filter : (Item -> Bool) -> Set -> Set;
                exists : (Item -> Bool) -> Set -> Bool;
                find : (Item -> Bool) -> Set -> Null_Or(Item );
                all_invariants_hold : Set -> Bool;};;
        package ts
          : api {   package key
                      : api {
                            Key;
                            compare : (Key , Key) -> Order;};;
                Item  = key::Key;
                Set;
                empty : Set;
                singleton : Item -> Set;
                from_list : List(Item ) -> Set;
                add : (Set , Item) -> Set;
                add' : (Item , Set) -> Set;
                add_list : (Set , List(Item )) -> Set;
                drop : (Set , Item) -> Set;
                member : (Set , Item) -> Bool;
                preceding_member : (Set , Item) -> Null_Or(Item );
                following_member : (Set , Item) -> Null_Or(Item );
                is_empty : Set -> Bool;
                equal : (Set , Set) -> Bool;
                compare : (Set , Set) -> Order;
                is_subset : (Set , Set) -> Bool;
                vals_count : Set -> Int;
                vals_list : Set -> List(Item );
                union : (Set , Set) -> Set;
                intersection : (Set , Set) -> Set;
                difference : (Set , Set) -> Set;
                map : (Item -> Item) -> Set -> Set;
                apply : (Item -> Void) -> Set -> Void;
                fold_forward : ((Item , X) -> X) -> X -> Set -> X;
                fold_backward : ((Item , X) -> X) -> X -> Set -> X;
                partition : (Item -> Bool) -> Set -> (Set , Set);
                filter : (Item -> Bool) -> Set -> Set;
                exists : (Item -> Bool) -> Set -> Bool;
                find : (Item -> Bool) -> Set -> Null_Or(Item );
                all_invariants_hold : Set -> Bool;};;
    make_atom : Void -> Atom;
    make_string_atom : String -> Atom;
    make_float_atom : Float -> Atom;
    make_tuplebase_atom : Tuplebase -> Atom;
    make_other_atom : Other -> Atom;
    string_of : Atom -> Null_Or(String );
    float_of : Atom -> Null_Or(Float );
    tuplebase_of : Atom -> Null_Or(Tuplebase );
    other_of : Atom -> Null_Or(Other );
    empty_tuplebase : Tuplebase;
    put_duple : (Tuplebase , Duple) -> Tuplebase;
    put_triple : (Tuplebase , Triple) -> Tuplebase;
    drop_duple : (Tuplebase , Duple) -> Tuplebase;
    drop_triple : (Tuplebase , Triple) -> Tuplebase;
    get_duples : Tuplebase -> ds::Set;
    get_duples1 : (Tuplebase , Atom) -> Null_Or(ds::Set );
    get_duples2 : (Tuplebase , Atom) -> Null_Or(ds::Set );
    has_duple : (Tuplebase , Duple) -> Bool;
    get_triples : Tuplebase -> ts::Set;
    get_triples1 : (Tuplebase , Atom) -> Null_Or(ts::Set );
    get_triples2 : (Tuplebase , Atom) -> Null_Or(ts::Set );
    get_triples3 : (Tuplebase , Atom) -> Null_Or(ts::Set );
    get_triples12 : (Tuplebase , Atom , Atom) -> Null_Or(ts::Set );
    get_triples13 : (Tuplebase , Atom , Atom) -> Null_Or(ts::Set );
    get_triples23 : (Tuplebase , Atom , Atom) -> Null_Or(ts::Set );
    has_triple : (Tuplebase , Triple) -> Bool;
    atoms_apply : Tuplebase -> (Atom -> Void) -> Void;};


Comments and suggestions to: bugs@mythryl.org

PreviousUpNext