take 5 [1,2,3,4]open list
take 5 [1,3,4,5]
No, this is a bug in take function in list module :)
You can add it to tracker.
A correct version is:
take = take []
where
take ys 0 _ = reverse ys
take ys n (x::xs) = take (x::ys) (n - 1) xs
take ys _ [] = reverse ys
Or naïve version:
take _ [] = []
take 0 _ = []
take n (x::xs) = x :: take (n - 1) xs
--