cvs commit: fptools/ghc/compiler/deSugar DsMeta.hs
fptools/ghc/compiler/hsSyn
Convert.lhs fptools/ghc/compiler/typecheck TcSplice.lhs
fptools/libraries/template-haskell/Language/Haskell/TH Syntax.hs
fptools/testsuite/tests/ghc-regress/th
TH_class1.stderr TH_reifyDecl1.stderr TH_repGuard.stderr ...
Simon Peyton Jones
simonpj at haskell.org
Thu Dec 23 04:07:40 EST 2004
simonpj 2004/12/23 01:07:39 PST
Modified files:
ghc/compiler/deSugar DsMeta.hs
ghc/compiler/hsSyn Convert.lhs
ghc/compiler/typecheck TcSplice.lhs
libraries/template-haskell/Language/Haskell/TH Syntax.hs
testsuite/tests/ghc-regress/th TH_class1.stderr
TH_reifyDecl1.stderr
TH_repGuard.stderr
TH_repPatSig.stderr
TH_repPrim.stderr
TH_spliceE3.stderr
Log:
---------------------------------
Template Haskell: names again
---------------------------------
On 2 Dec 04 I made this commit (1.58 in Convert.lhs)
Fix a Template Haskell bug that meant that top-level names created
with newName were not made properly unique.
But that just introduced a new bug! THe trouble is that names created by
newName are NameUs; but I was *also* using NameU for names of free varaibles,
such as the 'x' in the quoted code here
f x = $( g [| \y -> (x,y) |])
But when converting to HsSyn, the x and y must be treated diffferently.
The 'x' must convert to an Exact RdrName, so that it binds to the 'x' that's
in the type environment; but the 'y' must generate a nice unique RdrName.
So this commit adds NameL for the lexically-scoped bindings like 'x'.
Revision Changes Path
1.68 +4 -4 fptools/ghc/compiler/deSugar/DsMeta.hs
1.60 +10 -4 fptools/ghc/compiler/hsSyn/Convert.lhs
1.49 +4 -0 fptools/ghc/compiler/typecheck/TcSplice.lhs
1.10 +30 -10 fptools/libraries/template-haskell/Language/Haskell/TH/Syntax.hs
1.2 +3 -4 fptools/testsuite/tests/ghc-regress/th/TH_class1.stderr
1.5 +3 -3 fptools/testsuite/tests/ghc-regress/th/TH_reifyDecl1.stderr
1.4 +3 -3 fptools/testsuite/tests/ghc-regress/th/TH_repGuard.stderr
1.2 +3 -3 fptools/testsuite/tests/ghc-regress/th/TH_repPatSig.stderr
1.7 +3 -3 fptools/testsuite/tests/ghc-regress/th/TH_repPrim.stderr
1.3 +3 -4 fptools/testsuite/tests/ghc-regress/th/TH_spliceE3.stderr
More information about the Cvs-libraries
mailing list