Today I found out that haskell comes with a feature for splitting lists. It comes in the base package (link)
The description says:
splitAt n xs
returns a tuple where first element is xs
prefix of length n
and second element is the remainder of the list:
It is equivalent to (take n xs, drop n xs)
when n is not _|_ (splitAt _|_ xs = _|_)
. splitAt
is an instance of the more general genericSplitAt
, in which n may be of any integral type.
Here are some examples:
Knowing this, now I can set up my mergeSort