Documentation
Examples
Append
append(c(1,c(2,c(3,n))),c(4,c(5,n)),result).
append(X,Y,Z), n(X) :- Y=Z.
append(X,Y,Z), c(A,X1,X) :- c(A,Z1,Z), append(X1,Y,Z1).
result = append([1,2,3],[4,5]).
Z=append([], Y) :- Z=Y.
Z=append([A|X1],Y) :- Z=[A|append(X1,Y)].
Self-Organizing Loop
a(free,free),a(free,free),a(free,free),a(free,free),a(free,free),
a(free,free),a(free,free),a(free,free),a(free,free),a(free,free),
a(free,free),a(free,free),a(free,free),a(free,free),a(free,free),
a(free,free),a(free,free),a(free,free),a(free,free),a(free,free),
a(free,free),a(free,free),a(free,free),a(free,free).
free(A),free(B),a(A,C),a(D,B):-a(X,C),a(D,X).
Download