[Haskell-cafe] Re: Use unsafePerformIO to catch Exception?
jwlato at gmail.com
Fri Mar 27 17:28:12 EDT 2009
> From: Jules Bean <jules at 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!
More information about the Haskell-Cafe