ashley at semantic.org
Wed Nov 29 23:36:07 EST 2006
Malcolm Wallace wrote:
> Unfortunately, I suspect that teaching is _the_ major use-case for
> defaulting. Imagine, day one, lesson one, a student types
> Prelude> 1+2
> into Hugs, and gets the response
> Unresolved overloading: Num a
> Huh? This is lesson one, and you already need to tell students about
> type classes and overloading, before you have even covered simple
> expressions fully? I am certain this is the reason why defaulting was
I propose we abandon "teaching" arguments for design choices entirely.
There are two reasons for this. Firstly, they don't apply to the
majority of Haskell users, and secondly, they almost always misapprehend
the language-learning process.
To give you a vague example, when I was learning ML, what appealed to me
was the sense of cleanliness and purity about the language. Any apparent
weirdness was fine, as long as I could discover the elegant reason
behind it. This right up until finding out about references, which
bothered me so much that I dropped it and learnt Haskell instead.
That something might confuse the beginning user should count for nothing
if it does not annoy the more experienced user.
More information about the Haskell-prime