[Haskell-cafe] There is something wrong with hprotoc-0.3.1 package.

Antoine Latter aslatter at gmail.com
Tue Oct 14 08:13:26 EDT 2008


On Tue, Oct 14, 2008 at 12:03 AM, Magicloud
<magicloud.magiclouds at gmail.com> wrote:
> Hi,
>   I wanted to install this package. Well,
> Building hprotoc-0.3.1...
> ...
> [3 of 7] Compiling Text.ProtocolBuffers.ProtoCompile.Parser ...
>
> Text/ProtocolBuffers/ProtoCompile/Parser.hs:48:0:
>   Type synonym `GenParser' should have 2 arguments, but has been given 1
>   In the type synonym declaration for `P'
>
>   And it just stopped here.

This is an incompatibility between parsec-2 and parsec-3.  In
parsec-2, 'GenParser' is declared with a 'data' declaration, whereas
in parsec-3 it's a type synonym.  Since type-synonym declared
type-constructors cannot be partially applied this doesn't work.

Currently in parsec-3 'GenParser' is declared as:

> type GenParser tk st = Parsec [tk] st

We should be able to change it to:

> type GenParser tk = Parsec [tk]

in Text.Parsec.String, unless I'm forgetting something else tricky
about type synonyms.

Derek, does this sound reasonable?

-Antoine


More information about the Haskell-Cafe mailing list