GHCi ignores -XMonomorphismRestriction and -XNoExtendedDefaultRules
Because of the way the GHCi defaults are applied, specifying
-XNoExtendedDefaultRules on the GHCi command line doesn't actually make those take effect at the interactive prompt. They get reset to their interactive defaults afterwards. This is rather surprising, and I think it should be fixed.
dfeuer@squirrel> ghci -XMonomorphismRestriction Prelude> x = 3 Prelude> :t x x :: Num t => t -- What? I said I wanted the restriction! Prelude> :set -XMonomorphismRestriction Prelude> y = 3 Prelude> :t y y :: Integer
One option is to dig through the parsed flags after setting the defaults to try to find these, but that sounds unpleasant. We're slowly accumulating hacks in this area, and it would be nice to find a better approach.