slowsort.pl

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

% mode: slowsort[i,o]
slowsort(X,Y) :- perm(X,Y), sorted(Y).

% mode: sorted[i]
sorted([]).
sorted([X]).
sorted([X,Y|Z]) :- le(X,Y), sorted([Y|Z]).

% mode: perm[i,o]
perm([],[]).
perm([X,Y], [U,V]) :- delete(U, [X|Y], Z), perm(Z,V).

% mode: delete[o,i,o]
delete(X, [X|Y], Y).
delete(X, [Y|Z], W) :- delete(X,Z,W).

% mode: le[i,i]
le(s(X), s(Y)) :- le(X, Y).
le(0, s(X)).
le(0, 0).
popout

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

actions get anonymous link download benchmark