Вот что придумал (Turbo Prolog 2.0):
Код:
CONSTANTS
spisok=[3,1,0,-1,2,1]
DOMAINS
int=integer
list = integer*
PREDICATES
ins_sort(int,int,list,list)
CLAUSES
ins_sort(0,0,[ ],[ ]).
ins_sort(0,0,[H|T],L):-
ins_sort(0,0,T,T_Sort),
ins_sort(1,H,T_Sort,L).
ins_sort(1,X,[],[X]).
ins_sort(1,X,[H|T],[H|T1]):-
X>H,!,
ins_sort(1,X,T,T1).
ins_sort(1,X,T,[X|T]).
GOAL
ins_sort(0,0,spisok,X), write(X).
Извращение, конечно
