% Any % % module % 2 list_2(_l,_l2,_l3,_upvals):-_upvals=[],(subtract(_l,_l2,_l3)). % rest list_rest(_l,_b,_upvals):-_upvals=[],(_l = [_|_b]). % first list_first(_l,_a,_upvals):-_upvals=[],(_l = [_a|_]). % unique list_unique(_l,_l2,_dup,_upvals):-_upvals=[_unique_],(call_cl(_unique_,[_l2,_l,[]])). % unique_ list_unique_(_l,_l2,_dup,_upvals):-_upvals=[],((((true),(_l = [],_l2 = _l);_l = '[|]'(_e,_tail),(((get_(_list,"has",T14),_T13 = T14,call_cl(_T13,[_dup,_e])),(_l2 = _tail2,call(list_unique_(_tail,_tail2,_dup),_upvals));_dup1 = '[|]'(_e,_dup),_l2 = '[|]'(_e,_tail2),call(list_unique_(_tail,_tail2,_dup1),_upvals)))))). % iterate list_iterate(_p,_n,_x,_y,_upvals):-_upvals=[],(((_n = 0.0,_y = _x);(dif(_n,0.0),call_cl(_p,[_x,_x2]),{_n-1.0=T12},call(list_iterate(_p,T12,_x2,_y),_upvals)))). % map list_map(_l,_p,_l2,_upvals):-_upvals=[],(((_l = [],_l2 = []);(dif(_l,[]),_l = [_head|_tail],_l2 = [_head2|_tail2],call_cl(_p,[_head,_head2]),call(list_map(_tail,_p,_tail2),_upvals)))). % every list_every(_l,_p,_upvals):-_upvals=[],(((_l = [],_l2 = []);(dif(_l,[]),_l = [_head|_tail],call_cl(_p,[_head]),call(list_every(_tail,_p),_upvals)))). % join3 list_join3(_l,_sep,_s2,_upvals):-_upvals=[_join2],(((_l = '[|]'(_s,_tail),call_cl(_join2,[_tail,_sep,_s,_s2]));(dif(_l,'[|]'(_s,_tail)),_s2 = "",_l = []))). % join2 list_join2(_l,_sep,_s,_s2,_upvals):-_upvals=[],(((_l = [_b|_tail],calc(_s+_sep,T10),calc(T10+_b,T11),_s1 = T11,call(list_join2(_tail,_sep,_s1,_s2),_upvals));(dif(_l,[_b|_tail]),_l = [],_s = _s2))). % fold list_fold(_l,_pred,_s,_result,_upvals):-_upvals=[],(((_l = [_b|_tail],call_cl(_pred,[_s,_b,_c]),call(list_fold(_tail,_pred,_c,_result),_upvals));(dif(_l,[_b|_tail]),_l = [],_result = _s))). % join list_join(_l,_sep,_s,_upvals):-_upvals=[],(((_l = [_a|[]],_s = _a);(dif(_l,[_a|[]]),(_l = [_s1|_tail],calc(_s1+_sep,T8),calc(T8+_s2,T9),_s = T9,call(list_join(_tail,_sep,_s2),_upvals));(dif(_l,[_s1|_tail]),_l = [],_s = "")))). % each list_each(_l,_p,_l2,_upvals):-_upvals=[_eachIndex],(call_cl(_eachIndex,[_l,_p,0.0,_l2])). % eachIndex list_eachIndex(_l,_p,_i,_l2,_upvals):-_upvals=[],(((_l = [],_l2 = []);(dif(_l,[]),_l = [_head|_tail],_l2 = [_head2|_tail2],call_cl(_p,[_i,_head,_head2]),calc(_i+1.0,T7),call(list_eachIndex(_tail,_p,T7,_tail2),_upvals)))). % reverse list_reverse(_l,_l2,_upvals):-_upvals=[_concat],(((_l = [_a|_tail],call(list_reverse(_tail,_ltemp),_upvals),call_cl(_concat,[_ltemp,[_a|[]],_l2]));(dif(_l,[_a|_tail]),_l = [],_l2 = []))). % slice list_slice(_l,_i,_j,_l2,_upvals):-_upvals=[],(slice(_l,_i,_j,_l2)). % last list_last(_l,_a,_upvals):-_upvals=[_get,_size],(call_cl(_size,[_l,_T5]),{_T5-1.0=T6},call_cl(_get,[_l,T6,_a])). % findOnce list_findOnce(_l,_e,_i,_upvals):-_upvals=[],(_l = '[|]'(_x,_tail),((_e = _x,_i = 0.0,!);(dif(_e,_x),call(list_findOnce(_tail,_e,_j),_upvals),calc(_j+1.0,T4),_i = T4,!))). % find list_find(_l,_e,_i,_upvals):-_upvals=[],(def(_e),_l = '[|]'(_e1,_tail),((_e = _e1,_i = 0.0);(dif(_e,_e1),call(list_find(_tail,_e,_j),_upvals),calc(_j+1.0,T3),_i = T3))). % pop list_pop(_l,_l2,_upvals):-_upvals=[],(_l = '[|]'(_x,_tail),_l2 = _tail). % push list_push(_l,_x,_l2,_upvals):-_upvals=[],(_l2 = '[|]'(_x,_l)). % concat list_concat(_l,_l2,_l3,_upvals):-_upvals=[],(append(_l,_l2,_l3)). % has list_has(_l,_e,_upvals):-_upvals=[],(((_l = [_e|_],true);(dif(_l,[_e|_]),_l = '[|]'(_,_tail),call(list_has(_tail,_e),_upvals)))). % has2 list_has2(_l,_e,_upvals):-_upvals=[],(((_l = [_e|_],writeln_('[|]'("e",'[|]'(_e,[]))),true);(dif(_l,[_e|_]),writeln_(_l),_l = [_|_tail],call(list_has2(_tail,_e),_upvals)))). % remove list_remove(_l,_n,_l2,_upvals):-_upvals=[],((((true),(_l = [],_l2 = _l);_l = '[|]'(_e,_tail),((_e = _n,_l2 = _tail);(dif(_e,_n),_l2 = '[|]'(_e,_l3),call(list_remove(_tail,_n,_l3),_upvals)))))). % removeIndex list_removeIndex(_l,_i,_l2,_upvals):-_upvals=[_remove2],(type(_i,"int"),call_cl(_remove2,[_l,0.0,_i,_l2])). % remove2 list_remove2(_l,_i,_n,_l2,_upvals):-_upvals=[],((((true),(_l = [],_l2 = _l);_l = '[|]'(_e1,_tail),((_i = _n,_l2 = _tail);(dif(_i,_n),calc(_i+1.0,T2),_i2 = T2,_l2 = '[|]'(_e1,_l3),call(list_remove2(_tail,_i2,_n,_l3),_upvals)))))). % removeAll list_removeAll(_l,_p,_l2,_upvals):-_upvals=[],((((_l = []),(_l2 = []);_l = [_head|_tail],(((call_cl(_p,[_head])),(call(list_removeAll(_tail,_p,_l2),_upvals));_l2 = [_head|_tail2],call(list_removeAll(_tail,_p,_tail2),_upvals)))))). % filter list_filter(_l,_p,_l2,_upvals):-_upvals=[],((((_l = []),(_l2 = []);_l = [_head|_tail],(((call_cl(_p,[_head])),(_l2 = [_head|_tail2],call(list_filter(_tail,_p,_tail2),_upvals));call(list_filter(_tail,_p,_l2),_upvals)))))). % size list_size(_l,_n,_upvals):-_upvals=[],((((_l = []),(_n = 0.0);_l = [_|_tail],call(list_size(_tail,_j),_upvals),calc(_j+1.0,T1),_n = T1))). % get list_get(_L,_N,_Element,_upvals):-_upvals=[],(int(_N,X1),nth0(X1,_L,_Element)). % main list(X):-_get = clos([],list_get),creq("string",_string),_size = clos([],list_size),_filter = clos([],list_filter),_removeAll = clos([],list_removeAll),_remove2 = clos([],list_remove2),_removeIndex = clos([_remove2],list_removeIndex),_remove = clos([],list_remove),_has2 = clos([],list_has2),_has = clos([],list_has),_concat = clos([],list_concat),_push = clos([],list_push),_pop = clos([],list_pop),_find = clos([],list_find),_findOnce = clos([],list_findOnce),_last = clos([_get,_size],list_last),_slice = clos([],list_slice),_reverse = clos([_concat],list_reverse),_eachIndex = clos([],list_eachIndex),_each = clos([_eachIndex],list_each),_join = clos([],list_join),_fold = clos([],list_fold),_join2 = clos([],list_join2),_join3 = clos([_join2],list_join3),_every = clos([],list_every),_map = clos([],list_map),_iterate = clos([],list_iterate),_unique_ = clos([],list_unique_),_unique = clos([_unique_],list_unique),_first = clos([],list_first),_rest = clos([],list_rest),new(T15),set_(T15,"find",_find,T17),set_(T17,"findOnce",_findOnce,T18),set_(T18,"size",_size,T19),set_(T19,"length",_size,T20),set_(T20,"filter",_filter,T21),set_(T21,"removeIndex",_removeIndex,T22),set_(T22,"remove",_remove,T23),set_(T23,"push",_push,T24),set_(T24,"pop",_pop,T25),set_(T25,"has",_has,T26),set_(T26,"has2",_has2,T27),set_(T27,"at",_get,T28),set_(T28,"get",_get,T29),set_(T29,"concat",_concat,T30),set_(T30,"every",_every,T31),set_(T31,"forall",_every,T32),set_(T32,"map",_map,T33),set_(T33,"removeAll",_removeAll,T34),set_(T34,"join",_join3,T35),set_(T35,"fold",_fold,T36),set_(T36,"each",_each,T37),set_(T37,"eachIndex",_eachIndex,T38),set_(T38,"iterate",_iterate,T39),set_(T39,"reverse",_reverse,T40),set_(T40,"first",_first,T41),set_(T41,"last",_last,T42),set_(T42,"sub",clos([],list_2),T16),_t = T16,X=_t.