[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