Lightweight quoting Stage error in interactive mode
ghc/compiler/stage2$ ./ghc-inplace --interactive -fth
GHCi, version 6.9.20071025: http://www.haskell.org/ghc/ :? for help
Loading package base ... linking ... done.
Prelude> :m +Language.Haskell.TH
Prelude Language.Haskell.TH> let f = 1
Prelude Language.Haskell.TH> :m +Language.Haskell.TH
Prelude Language.Haskell.TH> $(do {i <- reify 'f; runIO $ putStrLn (pprint i); [| 1 |]})
<interactive>:1:17:
Stage error: the non-top-level quoted name 'f
must be used at the same stage at which is is bound
In the first argument of `reify', namely 'f
In a 'do' expression: i <- reify 'f
In the expression:
$(do i <- reify 'f
runIO $ putStrLn (pprint i)
[| 1 |])
This error didn't show with version 6.6
$ ghci -fth
___ ___ _
/ _ \ /\ /\/ __(_)
/ /_\// /_/ / / | | GHC Interactive, version 6.6.1, for Haskell 98.
/ /_\\/ __ / /___| | http://www.haskell.org/ghc/
\____/\/ /_/\____/|_| Type :? for help.
Loading package base ... linking ... done.
Prelude> let f = 1
Prelude> :m +Language.Haskell.TH
Prelude Language.Haskell.TH> $(do {i <- reify 'f; runIO $ putStrLn (pprint i); [| 1 |]})
Loading package template-haskell ... linking ... done.
f_0 :: GHC.Num.Integer
f_0 :: GHC.Num.Integer
f_0 :: GHC.Num.Integer
f_0 :: GHC.Num.Integer
1
Prelude Language.Haskell.TH>
Trac metadata
Trac field | Value |
---|---|
Version | 6.9 |
Type | Bug |
TypeOfFailure | OtherFailure |
Priority | normal |
Resolution | Unresolved |
Component | Template Haskell |
Test case | |
Differential revisions | |
BlockedBy | |
Related | |
Blocking | |
CC | alfonso.acosta@gmail.com |
Operating system | Unknown |
Architecture | Unknown |