> From: Jules Bean <ju...@jellybean.co.uk>
> wren ng thornton wrote:
>> The type of head should not be [a] -> a + Error, it should be (a:[a]) ->
>> a. With the latter type the compiler can ensure the precondition will be
>> proved before calling head, thus eliminating erroneous calls.
>
> Yes, but you know and I know that's not haskell.
>
> I'm talking about haskell.
>
> In haskell - a language which does not fully support dependent types -
> head is both necessary and useful.
>

I could follow the rest of this, but I don't understand why 'head' is
necessary.  Couldn't you always replace it with a case statement, with
undefined on [] if necessary?

I won't deny that it's extremely useful, though!

John Lato
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to