Mostly-fix Trac #2595: updates for existentials
authorsimonpj@microsoft.com <unknown>
Tue, 28 Oct 2008 11:54:27 +0000 (11:54 +0000)
committersimonpj@microsoft.com <unknown>
Tue, 28 Oct 2008 11:54:27 +0000 (11:54 +0000)
commit0db3e625ff0717f36495b375e6008995d6ffb0a3
tree9995cebefd5fd6186ddf926507c47a872ea46db3
parent61bcd16d4f3d4cf84b26bf7bb92f16f0440b7071
Mostly-fix Trac #2595: updates for existentials

Ganesh wanted to update records that involve existentials.  That
seems reasonable to me, and this patch covers existentials, GADTs,
and data type families.

The restriction is that
  The types of the updated fields may mention only the
  universally-quantified type variables of the data constructor

This doesn't allow everything in #2595 (it allows 'g' but not 'f' in
the ticket), but it gets a lot closer.

Lots of the new lines are comments!
compiler/deSugar/DsExpr.lhs
compiler/deSugar/DsMonad.lhs
compiler/typecheck/TcExpr.lhs
compiler/typecheck/TcHsSyn.lhs
docs/users_guide/glasgow_exts.xml