
On 1 September 2011 12:29, bob zhang
于 11-8-31 下午10:01, Ivan Lazar Miljenovic 写道:
On 1 September 2011 11:19, bob zhang
wrote: Hi, all
parseExp "(,) 3 4 " =>
Right (AppE (AppE (ConE GHC.Unit.(,)) (LitE (IntegerL 3))) (LitE (IntegerL 4)))
where's GHC.Unit.(,) ?
GHC.Unit (like all GHC.* modules) is an internal module used by GHC to implement base, containers, etc. The actual definitions of tuples in the Prelude "come" from Data.Unit, which for GHC are just re-exported from GHC.Unit: http://haskell.org/ghc/docs/latest/html/libraries/base/src/Data-Tuple.html
Hi, I tried ghc-pkg find-module GHC.Unit --> ghc-prim-0.2.0 :browse GHC.Unit data () = ()
could not find the function (,) exposed, thanks
Reading the source of Data.Tuple more, it seems that I misunderstood what was going on. GHC.Tuple [1] defines the tuples; GHC.Unit [2] just defines () [1]: http://haskell.org/ghc/docs/latest/html/libraries/ghc-prim-0.2.0.0/GHC-Tuple... [2]: http://haskell.org/ghc/docs/latest/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.... As such, this may very well be a bug somewhere, either haskell-src-meta, template-haskell, or elsewhere. May I ask though why you're trying to use (,) as an explicit constructor in a quasi-quotation? -- Ivan Lazar Miljenovic Ivan.Miljenovic@gmail.com IvanMiljenovic.wordpress.com