% Table * % % module % toListValues dict_toListValues(_t,_l,_upvals):-_upvals=[],(assoc_to_values(_t,_l)). % toListKeys dict_toListKeys(_t,_l,_upvals):-_upvals=[],(assoc_to_keys(_t,_l)). % imap_ dict_imap_(_t,_l,_t2,_upvals):-_upvals=[],(true). % map_ dict_map_(_t,_l,_t2,_upvals):-_upvals=[],(true). % 4 dict_4(_t,_l,_t2,_upvals):-_upvals=[],(true). % 3 dict_3(_t,_l,_t2,_upvals):-_upvals=[],(true). % 2 dict_2(_t,_l,_upvals):-_upvals=[],(assoc_to_list(_t,_l)). % concat dict_concat(_t,_t2,_upvals):-_upvals=[],(throw("set2")). % set dict_set(_t,_o,_o2,_t2,_upvals):-_upvals=[],(dict_set(_t,_o,_o2,_t2)). % get dict_get(_t,_o,_o2,_upvals):-_upvals=[],(get_(_t,_o,_o2)). % new dict_new(_t,_upvals):-_upvals=[],(dict_new(_t)). % main dict(X):-_new = clos([],dict_new),_get = clos([],dict_get),_set = clos([],dict_set),_concat = clos([],dict_concat),new(T1),set_(T1,"new",_new,T3),set_(T3,"get",_get,T4),set_(T4,"set",_set,T5),set_(T5,"toList",clos([],dict_2),T6),set_(T6,"map",clos([],dict_3),T7),set_(T7,"imap",clos([],dict_4),T2),_t = T2,_map_ = clos([],dict_map_),_imap_ = clos([],dict_imap_),_toListKeys = clos([],dict_toListKeys),_toListValues = clos([],dict_toListValues),X=_t.