diff options
author | simonpj@microsoft.com <unknown> | 2008-10-03 14:04:23 +0000 |
---|---|---|
committer | simonpj@microsoft.com <unknown> | 2008-10-03 14:04:23 +0000 |
commit | 08a9d7341402232672fcff9062454e6ba1ae8bd1 (patch) | |
tree | 8b279ffd806873e904eb374e24afe399925a5cc5 /compiler/prelude | |
parent | 0f853fa103066ba5e3427e824550f038f66da28c (diff) | |
download | haskell-08a9d7341402232672fcff9062454e6ba1ae8bd1.tar.gz |
Expunge ThFake, cure Trac #2632
This patch fixes a dirty hack (the fake ThFake module), which in turn
was causing Trac #2632.
The new scheme is that the top-level binders in a TH [d| ... |] decl splice
get Internal names. That breaks a previous invariant that things like
TyCons always have External names, but these TyCons are never long-lived;
they live only long enough to typecheck the TH quotation; the result is
discarded. So it seems cool.
Nevertheless -- Template Haskell folk: please test your code. The testsuite
is OK but it's conceivable that I've broken something in TH. Let's see.
Diffstat (limited to 'compiler/prelude')
-rw-r--r-- | compiler/prelude/PrelNames.lhs | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/compiler/prelude/PrelNames.lhs b/compiler/prelude/PrelNames.lhs index 3d1f968d8c..a709abfa9d 100644 --- a/compiler/prelude/PrelNames.lhs +++ b/compiler/prelude/PrelNames.lhs @@ -295,9 +295,8 @@ rOOT_MAIN = mkMainModule (fsLit ":Main") -- Root module for initialisation -- use himself. The z-encoding for ':' is "ZC", so the z-encoded -- module name still starts with a capital letter, which keeps -- the z-encoded version consistent. -iNTERACTIVE, thFAKE :: Module +iNTERACTIVE :: Module iNTERACTIVE = mkMainModule (fsLit ":Interactive") -thFAKE = mkMainModule (fsLit ":THFake") pRELUDE_NAME, mAIN_NAME :: ModuleName pRELUDE_NAME = mkModuleNameFS (fsLit "Prelude") |