% 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.