
byorgey:
On 9/11/07, Don Stewart <[1]dons@galois.com> wrote:
byorgey: > On 9/11/07, PR Stanley <[1]prstanley@[2]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
Hmm, that's funny, I don't recall ever hearing of those functions... =)
ooo, Don has a shiny new e-mail address!
And a shiny new job in a shiny new city :-) -- Don