
29 Apr
2009
29 Apr
'09
7 p.m.
In looking through a merge sort implementation example, I came across this code: split :: [a] -> [[a]] split [] = [] split (x:xs) = [x] : split xs I would have written the same code as split :: [a] -> [[a]] split = map (: []) Is there any particular difference here (other than explicit recursion)? And is there any other nicer way to write it? Thanks, Ben Sanders