Professional Documents
Culture Documents
splitAt :: Int->[a]->([a],[a])
splitAt 0 xs = ([],xs) splitAt(0,Xs,[],Xs).
splitAt _ [] = ([],[]) splitAt(_,[],[],[]).
splitAt n (x:xs) splitAt(N,[X|Xs],[X|Xs1],Xs2):-
| n > 0 = (x:xs',xs'') where N>0,N1 is N-1,
(xs',xs'') = splitAt (n-1) xs splitAt(N1,Xs,Xs1,Xs2).
From Haskell to Prolog (6)