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

Roman Cheplyaka roma at ro-che.info
Wed Jun 10 19:11:02 UTC 2015


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

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 819 bytes
Desc: OpenPGP digital signature
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20150610/581ea80f/attachment.sig>


More information about the Haskell-Cafe mailing list