[Haskell-cafe] The evil GADTs extension in ghci 7.8.4 (maybe in other versions too?)

Nathan Bouscal nbouscal at gmail.com
Wed Jun 10 19:21:59 UTC 2015


On Wed, Jun 10, 2015 at 12:11 PM, Roman Cheplyaka <roma at ro-che.info> wrote:

> On 10/06/15 21:50, wren romano wrote:
> > On Thu, Jun 4, 2015 at 11:43 PM, Edward Z. Yang <ezyang at mit.edu> wrote:
> >> GHC used to always generalize let-bindings, but our experience
> >> with GADTs lead us to decide that let should not be generalized
> >> with GADTs.  So, it's not like we /wanted/ MonoLocalBinds, but
> >> that having them makes the GADT machinery simpler.
> >>
> >> This blog post gives more details on the matter:
> >>     https://ghc.haskell.org/trac/ghc/blog/LetGeneralisationInGhc7
> >
> > The fact that -XGADTs (in isolation) implies -XMonoLocalBinds isn't
> > the problem. The problem is, the order in which language pragma are
> > offered should not matter. Whether I say {-# LANGUAGE GADTs,
> > NoMonoLocalBinds #-} or {-# LANGUAGE NoMonoLocalBinds, GADTs #-}
> > shouldn't matter. Both should mean the same thing, regardless of how
> > annoying it may be to work in that language.
>
> The current behavior may be surprising if you are not aware of it, but
> it's the only sensible one. Otherwise, what should the meaning of
>
> {-# LANGUAGE MonoLocalBinds, NoMonoLocalBinds #-}
>
> be?
>
> Roman
>
>
Arguably it should be a compiler warning.

-Nathan



>
> _______________________________________________
> Haskell-Cafe mailing list
> Haskell-Cafe at haskell.org
> http://mail.haskell.org/cgi-bin/mailman/listinfo/haskell-cafe
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20150610/8d9012ff/attachment.html>


More information about the Haskell-Cafe mailing list