Вдохновленный oneliner false, обернутый структурой модульного тестирования:
:-begin_tests(split).
data([sheep,dog,cat]).
test(one) :- data(L),
sort(L,L2),
maplist(atom_chars,L2,Exploded),
format("~q\n",[Exploded]),
L2 = [[c,a,t], [d,o,g], [s,h,e,e,p]].
:-end_tests(split).
rt :- run_tests(split).
?- rt.
% PL-Unit: split [[s,h,e,e,p],[d,o,g],[c,a,t]]
. done
% test passed
true.