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

wren romano wren at community.haskell.org
Wed Jun 10 18:50:13 UTC 2015

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.

Live well,

More information about the Glasgow-haskell-users mailing list