Kevin Atkinson wrote:
[snip]
> 1) Support for true ad-hoc overloading.
[snip]
> 2) Support for TRUE OO style programming.
[snip]
> 4) Being able to write
> do a <- getLine
> b <- getLine
> proc a b
> as
> proc getLine getLine
[snip]
AAARRRGGH no. I don't like overloading. For one thing it makes it a bore
working out what any given function call means. Haskell takes it about as
far as it goes, but I don't want to go any further. For example, I would much
prefer to maintain
do a <- getLine
b <- getLine
proc a b
since all the action is clearly written out. I don't have to know that
getLine is an IO something and deduce automatic coercion.
If anything we should be trying to simplify Haskell's type system, not
complicate it. I would welcome a better way of doing multi-parameter
type classes, but that seems to be something of a research problem
right now.