25 Oct
2000
25 Oct
'00
2:54 p.m.
The type inferred by the functions zero = 0 and zero2 = 0.0 are
Main> :t zero zero :: Integer
Main> :t zero2 zero2 :: Double
Is this an error?
I think it should give the type Num a => a, or not? At least it is more practical.
Do a search on the various mailing lists (Haskell, Hugs) for
"monomorphism restriction", or look at Section 4.5.5 of the Haskell 98
report. This is reguarly argued over, but Haskell is intentionally
designed that way.
--KW 8-)
--
Keith Wansbrough