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