
On Wed, May 22, 2013 at 9:25 PM, Ivan Lazar Miljenovic
I think you missed my point... I'm not saying it's just because of the course I'm tutoring, but that I disagree with the contention of "people learning Haskell will pick this up relatively easier so we should just dismiss anything about not generalising because it will make it easier for new people".
There are arguable benefits to avoiding ad-hoc polymorphism at the very beginning when teaching programming, yes. I actually agree there. The Prelude is already hopeless on that front because of Num (and possibly Monad). It is very, very easy to get many of GHC's least helpful error messages as a beginner making minor mistakes with numeric literals. If the monomorphic approach is what you want, then do it properly and use a monomorphic alternate Prelude or a Haskell environment other than GHC, either of which the students ought to be more than capable of installing and using. Students averse to mental effort and following simple directions are why God invented "failing the course". - C.