[ ghc-Bugs-508117 ] -fno-monomorphism-restriction != dynamic
noreply@sourceforge.net
noreply@sourceforge.net
Thu, 24 Jan 2002 12:11:33 -0800
Bugs item #508117, was opened at 2002-01-24 12:10
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=108032&aid=508117&group_id=8032
Category: Documentation
Group: 5.02
Status: Open
Resolution: None
Priority: 5
Submitted By: Mike Gunter (magunter)
Assigned to: Nobody/Anonymous (nobody)
Summary: -fno-monomorphism-restriction != dynamic
Initial Comment:
Section 4.18 claims -fno-monomorphism-restriction is
dynamic. ":set"ting it in GHCi seems to have no
affect:
Loading:
> i = 1
> y = (1::Int) + i
> x = 1.1 + i
> main = error "main"
with -fno-monomorphism-restriction :set (but not set
on the command line) gives:
Prelude> fmap (filter (==
"-fno-monomorphism-restriction")) System.getArgs >>= print
[]
Prelude> :set -fno-monomorphism-restriction
Prelude> Compiling Main (
/home/gunter/haskell/TestMonomorphism.hs, interpreted )
/home/gunter/haskell/TestMonomorphism.hs:3:
No instance for (Fractional Int)
arising from the literal `1.1' at
/home/gunter/haskell/TestMonomorphism.hs:3
In the first argument of `(+)', namely `1.1'
In the definition of `x': 1.1 + i
Failed, modules loaded: none.
Prelude>
whereas with -fno-monomorphism-restriction set on
the command line gives the expected result:
Prelude> Compiling Main (
/home/gunter/haskell/TestMonomorphism.hs, interpreted )
Ok, modules loaded: Main.
Main> fmap (filter (==
"-fno-monomorphism-restriction")) System.getArgs >>= print
["-fno-monomorphism-restriction"]
Main> x
2.1
Main> y
2
It would be better to make
-fno-monomorphism-restriction dynamic but at least
the documentation should be fixed.
thanks,
mike
----------------------------------------------------------------------
You can respond by visiting:
http://sourceforge.net/tracker/?func=detail&atid=108032&aid=508117&group_id=8032