% Table {concat.Relation Any Any Any;empty.Relation Any;fold.Relation Any Any Any Any;get.Relation Any Any Any;has.Relation Any Any;imap.Relation Any Any Any;iter.Relation Any Any;join.Relation Any Any Any;map.Relation Any Any Any;new.Relation Any;next.Relation Any Any Any Any Number;remove.Relation Any Any Any Any;set.Relation Any Any Any Any;sub.Relation Any Any Any;toList.Relation Any Any;toListKeys.Relation Any Any;toListValues.Relation Any Any;update.Any} % Pair Functor;T Functor % table % imap_ table_imap_(_t,_l,_t2,_upvals):-_upvals=[],(true). % map_ table_map_(_t,_l,_t2,_upvals):-_upvals=[],(true). % 13 table_13(_t,_upvals):-_upvals=[],(empty_assoc(_t)). % 12 table_12(_t,_l,_t2,_upvals):-_upvals=[],(true). % 11 table_11(_t,_l,_t2,_upvals):-_upvals=[_sub,_iter],(call_cl(_iter,[_l,_T22]),call_cl(_sub,[_t,_T22,_t2])). % 10 table_10(_t,_l,_c,_t2,_upvals):-_upvals=[_fold,_iter],(call_cl(_iter,[_t,_T20]),call_cl(_fold,[_T20,_l,_c,_t2])). % 9 table_9(_t,_l,_t2,_upvals):-_upvals=[_join,_iter],(call_cl(_iter,[_t,_T18]),call_cl(_join,[_T18,_l,_t2])). % 8 table_8(_t,_l,_t2,_upvals):-_upvals=[_map,_iter],(call_cl(_iter,[_t,_T16]),call_cl(_map,[_T16,_l,_t2])). % 7 table_7(_t,_l,_upvals):-_upvals=[],(assoc_to_values(_t,_l)). % 6 table_6(_t,_l,_upvals):-_upvals=[],(assoc_to_keys(_t,_l)). % 5 table_5(_t,_l,_upvals):-_upvals=[],(assoc_to_list(_t,_l)). % 4 table_4(_t,_t2,_t3,_upvals):-_upvals=[_concat_],(assoc_to_list(_t,_l),call_cl(_concat_,[_l,_t2,_t3])). % 3 table_3(_t,_o,_upvals):-_upvals=[_get],(call_cl(_get,[_t,_o,_])). % fold table_fold(_l,_p,_a,_result,_upvals):-_upvals=[_next],(call_cl(_next,[_l,_l1,_k,_b,_i]),((_i = 1.0,call_cl(_p,[_a,_k,_b,_c]),call(table_fold(_l1,_p,_c,_result),_upvals));(dif(_i,1.0),_a = _result))). % map table_map(_t,_p,_l,_upvals):-_upvals=[_debug,_debug,_next],(call_cl(_next,[_t,_t1,_k,_v,_i]),((_i = 1.0,call_cl(_debug,['[|]'(_k,'[|]'(_v,[]))]),call_cl(_p,[_k,_v,_x]),_l = '[|]'(_x,_l2),call(table_map(_t1,_p,_l2),_upvals));(dif(_i,1.0),call_cl(_debug,['[|]'("end",'[|]'(_i,'[|]'(_k,'[|]'(_v,[]))))]),_l = []))). % sub table_sub(_t,_l,_t2,_upvals):-_upvals=[_remove,_next],(call_cl(_next,[_l,_l1,_k,_s,_i]),((_i = 1.0,call_cl(_remove,[_t,_k,_,_t1]),call(table_sub(_t1,_l1,_t2),_upvals));(dif(_i,1.0),_t2 = _t))). % join table_join(_l,_sep,_s2,_upvals):-_upvals=[_debug,_debug,_next],(call_cl(_next,[_l,_l1,_k,_s,_i]),((_i = 1.0,call_cl(_debug,[_s]),calc(_s+_sep,T1),calc(T1+_s1,T2),_s2 = T2,call_cl(_debug,[_s2]),call(table_join(_l1,_sep,_s1),_upvals));(dif(_i,1.0),_s2 = ""))). % iter table_iter(_t,_l,_upvals):-_upvals=[_toList],(call_cl(_toList,[_t,_l])). % toList table_toList(_t,_l,_upvals):-_upvals=[],(assoc_to_list2(_t,_l)). % next table_next(_l,_l2,_k,_v,_i,_upvals):-_upvals=[],(((_l = [],_i = 0.0);(dif(_l,[]),_l = '[|]'(_a,_l2),_a = fc_Pair(_k,_v),_i = 1.0))). % concat_ table_concat_(_t,_t2,_t3,_upvals):-_upvals=[_set,_next_],((((call_cl(_next_,[_t,_t1,_k,_v])),(call_cl(_set,[_t2,_k,_v,_t_]),call(table_concat_(_t1,_t_,_t3),_upvals));_t3 = _t2))). % next_ table_next_(_t,_t2,_k,_v,_upvals):-_upvals=[],(next_pair(_t,_t2,_k,_v),true). % remove table_remove(_t,_k,_v,_t2,_upvals):-_upvals=[],(del_(_t,_k,_v,_t2)). % set table_set(_t,_o,_o2,_t2,_upvals):-_upvals=[],(set_(_t,_o,_o2,_t2)). % get table_get(_t,_o,_o2,_upvals):-_upvals=[],(get_(_t,_o,_o2)). % new table_new(_t,_upvals):-_upvals=[],(new(_t)). % 2 table_2(_x,_upvals):-_upvals=[],(true). % main table(X):-_debug = clos([],table_2),_new = clos([],table_new),_get = clos([],table_get),_set = clos([],table_set),_remove = clos([],table_remove),_next_ = clos([],table_next_),_concat_ = clos([_set,_next_],table_concat_),_next = clos([],table_next),_toList = clos([],table_toList),_iter = clos([_toList],table_iter),_join = clos([_debug,_debug,_next],table_join),_sub = clos([_remove,_next],table_sub),_map = clos([_debug,_debug,_next],table_map),_fold = clos([_next],table_fold),new(T3),set_(T3,"new",_new,T5),set_(T5,"get",_get,T6),set_(T6,"set",_set,T7),set_(T7,"iter",_iter,T8),set_(T8,"next",_next,T9),set_(T9,"has",clos([_get],table_3),T10),set_(T10,"concat",clos([_concat_],table_4),T11),set_(T11,"toList",clos([],table_5),T12),set_(T12,"toListKeys",clos([],table_6),T13),set_(T13,"toListValues",clos([],table_7),T14),set_(T14,"map",clos([_map,_iter],table_8),T15),set_(T15,"join",clos([_join,_iter],table_9),T17),set_(T17,"fold",clos([_fold,_iter],table_10),T19),set_(T19,"sub",clos([_sub,_iter],table_11),T21),set_(T21,"imap",clos([],table_12),T23),set_(T23,"empty",clos([],table_13),T24),set_(T24,"update",_concat,T25),set_(T25,"remove",_remove,T4),_t = T4,_map_ = clos([],table_map_),_imap_ = clos([],table_imap_),X=_t.