[GHC] #925: Access to old variable via Template Haskell blows up ghci

GHC trac at galois.com
Sat Oct 7 02:37:41 EDT 2006


#925: Access to old variable via Template Haskell blows up ghci
---------------------------------+------------------------------------------
    Reporter:  guest             |        Owner:         
        Type:  bug               |       Status:  new    
    Priority:  low               |    Milestone:         
   Component:  Template Haskell  |      Version:  6.4.2  
    Severity:  normal            |     Keywords:         
          Os:  Unknown           |   Difficulty:  Unknown
Architecture:  Unknown           |  
---------------------------------+------------------------------------------
When you try to access a replaced variable name via Template Haskell in
 GHCi, GHCi panics:

 {{{
   / _ \ /\  /\/ __(_)
  / /_\// /_/ / /  | |      GHC Interactive, version 6.4.2, for Haskell 98.
 / /_\\/ __  / /___| |      http://www.haskell.org/ghc/
 \____/\/ /_/\____/|_|      Type :? for help.

 Loading package base-1.0 ... linking ... done.
 Prelude> :m +Language.Haskell.TH
 Prelude Language.Haskell.TH> let f n = n * 2 :: Int
 Prelude Language.Haskell.TH> fName <- runQ [| f |]
 Loading package haskell98-1.0 ... linking ... done.
 Loading package template-haskell-1.0 ... linking ... done.
 Prelude Language.Haskell.TH> $(return $ AppE fName (LitE (IntegerL 7)))
 14
 Prelude Language.Haskell.TH> let f n = n * 3 :: Int
 Prelude Language.Haskell.TH> fName2 <- runQ [| f |]
 Prelude Language.Haskell.TH> $(return $ AppE fName2 (LitE (IntegerL 7)))
 21
 Prelude Language.Haskell.TH> $(return $ AppE fName (LitE (IntegerL 7)))
 ghc-6.4.2: panic! (the `impossible' happened, GHC version 6.4.2):
         nameModule f{v a1WB}

 Please report this as a compiler bug.  See:
   http://www.haskell.org/ghc/reportabug

 Prelude Language.Haskell.TH>
 }}}

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/925>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler


More information about the Glasgow-haskell-bugs mailing list