ghc-6.2 bug in type inference

Simon Marlow simonmar at microsoft.com
Fri Feb 6 09:12:42 EST 2004


 
> So there are two faults here.
> 
>     *  package extra-ghc-opts are propagated to all 
>        compilations, whether those compilations use that package or
>        not.

Indeed - I don't recommend the use of extra_ghc_opts at all.  It doesn't
make sense with auto packages (which most hierarchical packages are),
because the compiler doesn't know which packages it needs before it
compiles the code, and then its too late.  extra_ghc_opts is a really
bad idea, I wish we'd never put it in in the first place.  I think in
the future we'll emit a warning or deprecate the feature.

>     *  -fglasgow-exts makes perfectly reasonable Haskell'98 code
>        invalid, throws up a totally misleading error unrelated to the
>        cause of the problem, and gives no clue as to what particular
>        extension is responsible.

Taking these in order:

 - -fglasgow-exts breaks Haskell 98 code: yes of course, because it
   defines extra keywords for one thing.

 - throws up a misleading error message: I'm not sure if you're
   talking about this specific case or error messages in general -
   sure we're not very clever about giving helpful error messages in
   lots of ways.  You can report this as a bug if you like :-)

 - gives no clue as to what extension is responsible: hmm, this is
   a really hard problem too, isn't it?  Surely you don't mean that we
   should figure out, for every error message, which set of extensions
   if turned off would make the error go away?  And what impact on 
   the rest of the module turning off those extensions would have?
   If I turn on FFI extensions in nhc98, does it helpfully remind me
   what I've done wrong when I attempt to use 'foreign' as a function
   name?

Cheers,
	Simon


More information about the Glasgow-haskell-bugs mailing list