On 29-Dec-2000, Doug Ransom <Doug_Ransom@pml.com> wrote:
1. Is the lack of dynamic binding of functions by design or because it was too much effort to be justified at the time the language was designed? In object oriented programming there can be several implementations of the same interface, and they can be stored in the same collection.
It's just something that didn't make it into Haskell 98. Hugs and ghc offer a language extension for that. It will almost certainly be in the next revision of Haskell. See <http://www.haskell.org/ghc/docs/latest/set/existential-quantification.html>.
2. It seems to me that the Maybe monad is a poor substitute for exception handling because the functions that raise errors may not necessarily support it.
Hugs and ghc also have exception handling extensions. See <http://www.haskell.org/ghc/docs/latest/set/sec-exception.html>. There's also a paper or two on that. I hope you'll forgive the self-citation, but the only one for which I happen to have a reference on-hand is this one: A semantics for imprecise exceptions. Simon Peyton-Jones, Alastair Reid, Tony Hoare, Simon Marlow, and Fergus Henderson. Proceedings of the 1999 ACM SIGPLAN Conference on Programming Language Design and Implementation, May 1999. -- Fergus Henderson <fjh@cs.mu.oz.au> | "I have always known that the pursuit | of excellence is a lethal habit" WWW: <http://www.cs.mu.oz.au/~fjh> | -- the last words of T. S. Garp.