2009/03/27 John Lato <jwl...@gmail.com>:
> 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?

  How would that be any different from head?

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

Reply via email to