On 9/11/07, Don Stewart <dons@galois.com> wrote:
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

Hmm, that's funny, I don't recall ever hearing of those functions... =)

ooo, Don has a shiny new e-mail address!

-Brent