New ticket 1274 -- Add a MonadState instance for the Parsec monad

Bulat Ziganshin bulat.ziganshin at
Sun Apr 15 04:56:33 EDT 2007

Hello Maxime,

Saturday, April 14, 2007, 11:57:02 PM, you wrote:

> It would be nice if it was possible to conditionally include this
> code, depending on whether the compiler supports FDs and MPTCs.  I
> guess it would be doable using the -cpp flag of GHC and using #if's,
> but then again, maybe other compilers don't have this feature?  I
> didn't check but it seems unlikely that this would be part of
> Haskell98.

it's not. moreover, probably MPTC will be a part of Haskell', but not
FD - there is new Associated Types extension that tends to replace it
(which is available now only in GHC 6.7 in rather early form)

> I'll have to do some research to see if there are any other ways
> we could deal with this issue, and I'm all ears if people have
> suggestions on this.  As a side note, we're going to need MPTCs and
> FDs if the SoC task of having a GenParserT monad transformer succeeds,
> so this definitely needs some thinking.

another SoC project is to rewrite yhc/nhc type checker which will
open possibility to implement mptc/fd (like any other type extensions)
in nhc. but this is the long way and not guaranteed

overall, if you need fd, then you are in hugs/ghc land. it's not much
problem if something implemented as SoC project will work only with
these two compilers (actually, most libs are only ghc-compatible,
ParseC and ByteString are rare exceptions)

Best regards,
 Bulat                            mailto:Bulat.Ziganshin at

More information about the Libraries mailing list