
On Fri, Jun 12, 2009 at 03:00:12PM +0100, Paul Keir wrote:
Thanks Ryan, I'm slowly becoming aware of the effects of Monomorphism. I'll look again at Neil Mitchell's blog post.
I guess it's the same thing when I try:
let a = 1 a + 1.0
I'm taking the "mono" as a clue that the type inferencing will complete after each ghci carriage return; once only. In this example when "a" is set, it is to an Integer. One might imagine ghci could wait until I use "a" somewhere, but that's not how things are.
It can wait. You just have to turn off the monomorphism restriction (recommended). Prelude> :set -XNoMonomorphismRestriction Prelude> let a = 1 Prelude> a + 2.0 3.0 You can even add :set -XNoMonomorphismRestriction to your .ghci file so that it is always turned off in ghci. -Brent