perm.pl

loading
details
attribute value
description
owner Johannes Waldmann
uploaded 2017-08-17 03:45:07.0
disk size 417 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
%query: perm(i,o).

% mode: append[i,i,o]
append(nil, XS, XS).
append(cons(X, XS1), XS2, cons(X, YS)) :- append(XS1, XS2, YS).

% mode: split[i,o,o]
split(XS, nil, XS).
split(cons(X, XS), cons(X, YS1), YS2) :- split(XS, YS1, YS2).

% mode: perm[i,o]
perm(nil, nil).
perm(XS, cons(Y, YS)) :- split(XS, YS1, cons(Y, YS2)),
                         append(YS1, YS2, ZS),
                         perm(ZS, YS).

        
popout

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

actions get anonymous link download benchmark