On Tue, 8 Dec 2009, Richard O'Keefe wrote:

X/0, sqrt(-1), head [] are errors

It depends on WHERE THE DATA CAME FROM.

If your program actually computes X/0 or sqrt(-1) or head [] your program is buggy, independent from where the zero, the minus one or the empty list comes.

Sure, the distinction exception/error depends on the source of the data that causes problems.

And sadly, the library does not know this, so the library cannot classify
problems _that_ way.

To this end the library documentation says: "Precondition: This function must only be called on non-empty lists." If the programmer calls it with an empty list anyway, it's his fault. The library user made the error then. Of course it would be better, if types or contracts could force such restrictions:
  http://www.haskell.org/pipermail/haskell-cafe/2009-November/068877.html
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to