[project @ 1999-12-06 11:54:56 by simonpj]
authorsimonpj <unknown>
Mon, 6 Dec 1999 11:54:59 +0000 (11:54 +0000)
committersimonpj <unknown>
Mon, 6 Dec 1999 11:54:59 +0000 (11:54 +0000)
commitfbdd694d0ba92a4c54d25fc609a78c93da4d6af2
tree97460720cf878ff246db4f8749c73930c92d1ce9
parent812530516d97f80a5c424db31b8b5ed541cb6a0c
[project @ 1999-12-06 11:54:56 by simonpj]
Fix a major bug in exporting unfoldings involving existentials.

Change core printing so that we put an '@' before type
variables in case patterns.  This only affects existentials.

case x of
  C @ a x y -> ...

Here 'a' is an existentially quantified type variable, and the
'@' signifies this.  We continue to omit kinds and type on case-bound
variables; the type checker can fill them in.

The reason for this change is that type variables and term variables
live in a different name space, so we need to know which name space
is  involved when binding one.  How this ever worked I will never know.

While I was at it, I also arranged that -ddump-rn prints out whatever
it has even if it finds errors.  Adding -dppr-debug prints even the
unfoldings on imported things.

Simon
ghc/compiler/coreSyn/PprCore.lhs
ghc/compiler/hsSyn/HsCore.lhs
ghc/compiler/rename/ParseIface.y
ghc/compiler/rename/Rename.lhs