fork download
  1. split_into_pairs([A,B],[[A,B]]).
  2. split_into_pairs([A,B|T], [[A,B]|XX]) :- split_into_pairs(T, XX).
  3.  
  4. :- split_into_pairs([1,2,3,4,5,6],X), write(X).
  5. :- split_into_pairs([1,2,3],X), write(X).
Success #stdin #stdout #stderr 0.02s 6160KB
stdin
Standard input is empty
stdout
[[1, 2], [3, 4], [5, 6]]
stderr
Warning: /home/gJRDLs/prog.pl:5:
	Goal (directive) failed: user: (split_into_pairs([1, 2, 3], _G382), write(_G382))