#2339: Template Haskell reification with mkName doesn't work right
---------------------------------+------------------------------------------
    Reporter:  simonpj           |       Owner:         
        Type:  bug               |      Status:  new    
    Priority:  normal            |   Milestone:         
   Component:  Template Haskell  |     Version:  6.8.2  
    Severity:  normal            |    Keywords:         
  Difficulty:  Unknown           |    Testcase:         
Architecture:  Unknown           |          Os:  Unknown
---------------------------------+------------------------------------------
 Marc Weber writes: this doesn't work:
 {{{
 -- packages: template-haskell
 {-# OPTIONS_GHC -XTemplateHaskell #-}
 module Main where
 import Language.Haskell.TH

 data A a = A a

 type C = A Int

 data ABC = ABC Int

 $(do
   a <- reify $ mkName "C"
   report False $ show a
   return []
   )
 main = print ""
 }}}
 Produces output
 {{{
 || [1 of 1] Compiling Main             ( test.hs, test.o )
 ||
 test.hs|1| `C' is not in scope at a reify
 }}}
 Using `mkName "A"` results in
 {{{
 test.hs|1 error|
 ||     DataConI Main.A (ForallT [a_1627391370] [] (AppT (AppT ArrowT (VarT
 a_1627391370)) (AppT (ConT Main.A) (VarT a_1627391370)))) Main.A (Fixity 9
 InfixL)
 }}}
 as expected

 Why do I need it?
 I'd like to implement kind of very basic relational data representation
 the way `IxSet` is doing it but without dynamics..

 It will look like this:
 {{{
 type CDs = Table (Autoinc, Artist, Title, Year) -- col types
                  (Artist, Title, Year) -- keys
                  () -- is detail of
 type Tracks = Table (Autoinc, Title, RecordingDate)
                     (Title, RecordingDate)
                     (CDs)
 $(mkDB ["CDs","Tracks"])
 }}}
 To be able to automatically derive
 {{{
 insert{CDs,Tracks}
 delete{CDs,Tracks}
 update{CDs,Tracks}
 }}}
 functions I need to get information about those types.. Is this
 possible?

 Thanks
 Marc Weber

-- 
Ticket URL: <http://hackage.haskell.org/trac/ghc/ticket/2339>
GHC <http://www.haskell.org/ghc/>
The Glasgow Haskell Compiler
_______________________________________________
Glasgow-haskell-bugs mailing list
[email protected]
http://www.haskell.org/mailman/listinfo/glasgow-haskell-bugs

Reply via email to