flatten.pl

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:17.0
disk size 346 Bytes
downloadable true
type
attribute value
name no_type
processor id 1
description this is the default benchmark type for rejected benchmarks and benchmarks that are not associated with a type.
owning community none
loading contents
% Author: Thomas Stroeder
% non-terminating

%query: flatten(i,o).
flatten(atom(X),Y) :- !, eq(Y,[X]).
flatten(L,Y) :- head(L,atom(H)), !, eq(Y,[H|Z]), tail(L,T), flatten(T,Z).
flatten(L,X) :- head(L,cons(U,V)), tail(L,W), flatten(cons(U,cons(V,W)),X).

head(nil,_).
head(cons(H,_),H).

tail(nil,nil).
tail(cons(_,T),T).

eq(X,X).
popout

content may be truncated. 'popout' for larger text window.

actions get anonymous link download benchmark