[Haskell-cafe] ambiguous types although 'asTypeOf'
lemming at henning-thielemann.de
Tue Dec 25 13:27:41 EST 2007
I thought I understand monomorphism restriction. But it seems, I don't. I
have boilt down my problem to the following test. Don't try to make any
sense of it, it is just the smallest code I could come up with.
test :: (Integral a, RealFrac a) => a
let c = undefined
in asTypeOf (round c) c
When compiling I get:
Compiling StorableInstance ( src/StorableInstance.hs, interpreted )
Warning: Defaulting the following constraint(s) to type `Double'
`RealFrac a' arising from use of `round' at src/StorableInstance.hs:38:17-21
In the first argument of `asTypeOf', namely `(round c)'
In the definition of `test1': test1 = let c = undefined in asTypeOf (round c) c
More information about the Haskell-Cafe