[Haskell-cafe] Is it a bug in haskell-src-meta package?
Ivan Lazar Miljenovic
ivan.miljenovic at gmail.com
Thu Sep 1 04:35:39 CEST 2011
On 1 September 2011 12:29, bob zhang <bobzhang1988 at gmail.com> wrote:
> 于 11-8-31 下午10:01, Ivan Lazar Miljenovic 写道:
>>
>> On 1 September 2011 11:19, bob zhang<bobzhang1988 at gmail.com> 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.html
[2]: http://haskell.org/ghc/docs/latest/html/libraries/ghc-prim-0.2.0.0/GHC-Unit.html
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 at gmail.com
IvanMiljenovic.wordpress.com
More information about the Haskell-Cafe
mailing list