
11 Sep
2007
11 Sep
'07
11:40 p.m.
byorgey:
On 9/11/07, PR Stanley <[1]prstanley@ntlworld.com> wrote:
Hi take 1000 [1..3] still yields [1,2,3] I thought it was supposed to return an error. Any ideas? Thanks, Paul
If for some reason you want a version that does return an error in that situation, you could do something like the following:
take' n _ | (n <= 0) = [] take' n [] | (n > 0) = error "take': list too short" | otherwise = [] take' n (x:xs) = x : take' (n-1) xs
And we'd call it unsafeTake, just like unsafeFromJust and unsafeTail :-) -- Don