List Processing Demo

Welcome to SWI-Prolog (threaded, 64 bits, version 8.0.3) SWI-Prolog comes with ABSOLUTELY NO WARRANTY. This is free software. Please run ?- license. for legal details. For online help and background, visit http://www.swi-prolog.org For built-in help, use ?- help(Topic). or ?- apropos(Word). ?- consult(lp). true. ?- first([1,2,3,4,5], First). First = 1. ?- rest([1,2,3,4,5], Rest). Rest = [2, 3, 4, 5]. ?- last_element([1,2,3,4,5], Last). Last = 5 . ?- write_list([1,2,3,4,5]). 1 2 3 4 5 true. ?- write_list_reversed([1,2,3,4,5]). 5 4 3 2 1 true. ?- size([1,2,3,4,5], Size). Size = 5. ?- count(3,[1,2,3,4,5],Count). Count = 1 . ?- count(3,[1,3,3,4,5],Count). Count = 2 . ?- element_of(3,[1,2,3,4,5]). true . ?- element_of(0,[1,2,3,4,5]). false. ?- contains([1,2,3,4,5],3). true . ?- contains([1,2,3,4,5],0). false. ?- nth(1,[1,2,3,4,5],N). N = 2 . ?- nth(5,[1,2,3,4,5],N). false. ?- pick([1,2,3,4,5],P). P = 1 ; false. ?- pick([1,2,3,4,5],P). P = 1 . ?- pick([1,2,3,4,5],P). P = 3 . ?- sum([1,2,3,4,5],S). S = 15. ?- make_list(5,0,L). L = [0, 0, 0, 0, 0] . ?- iota(2,I). I = [1, 2] . ?- iota(3,I). I = [1, 2, 3] . ?- add_first(1,[1,2,3,4,5],NL). NL = [1, 1, 2, 3, 4, 5]. ?- add_last(1,[1,2,3,4,5],NL). NL = [1, 2, 3, 4, 5, 1] . ?- esrever([1,2,3,4,5],R). R = [5, 4, 3, 2, 1] . ?- join_lists([1,2,3],[4,5,6],J). J = [1, 2, 3, 4, 5, 6]. ?- join_lists([1,2,3],[4,5,6],[7,8,9],J). J = [1, 2, 3, 4, 5, 6, 7, 8, 9]. ?- join_lists([1,2],[3,4],[5,6],[7,8],J). J = [1, 2, 3, 4, 5, 6, 7, 8]. ?- product([2,2,2,2],P). P = 16. ?- product([2,2],P). P = 4. ?- product([2,2,2],P). P = 8. ?- factorial(2,F). F = 2 . ?- factorial(3,F). F = 6 . ?- factorial(4,F). F = 24 . ?- make_set([1,2,2,4],T). T = [1, 2, 4] . ?- replace(4,foo,[a,b,c,d,e,f],R). R = [a, b, c, d, foo, f] . ?- remove(四,[一,五,十,四,七,四],Remove). Remove = [一, 五, 十, 七, 四] . ?- take([1,2,3,4,5],E,R). E = 4, R = [1, 2, 3, 5] . ?- take([1,2,3,4,5],E,R). E = 4, R = [1, 2, 3, 5] . ?- take([1,2,3,4,5],E,R). E = 3, R = [1, 2, 4, 5] . ?- split([[one,一],[two,二],[three,三]],E,Ni本語). E = [one, two, three], Ni本語 = [一, 二, 三]. ?- min_pair(2,4,Min). Min = 2 . ?- min_pair(4,2,Min). Min = 2. ?- max_pair(2,4,Max). Max = 4. ?- max_pair(4,2,Max). Max = 4 . ?- min([4,3,4,1,5,8],Min). Min = 1 . ?- max([4,3,4,1,5,8],Max). Max = 8 . ?- sort_inc([8,2,14,5,3],Si). Si = [2, 3, 5, 8, 14]. ?- sort_dec([8,2,14,5,3],Sd). Sd = [14, 8, 5, 3, 2]. ?- a_list([いち,に,さん],[一,二,三], Pairs). Pairs = [pair(いち, 一), pair(に, 二), pair(さん, 三)] . ?- assoc([pair(いち, 一), pair(に, 二), pair(さん, 三)],に,C). C = 二 .