Ashley Yakeley 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
> introduced.

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.

Ashley Yakeley

More information about the Haskell-prime mailing list