
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1 Maxime Henrion wrote:
I just submitted a ticket (#1274) to add a MonadState instance for the GenParser monad of Parsec. As said in the ticket, the only drawback I see to this is the added dependency on mtl. I don't believe this is a real issue though. Of course, comments are welcome.
Control.Monad.State.Class non-portable (multi-param classes, functional dependencies) class (Monad m) => MonadState s m | m -> s http://darcs.haskell.org/packages/mtl/Control/Monad/State/Class.hs According to http://hackage.haskell.org/trac/haskell-prime/wiki/HaskellExtensions, only GHC and Hugs supports fundeps presently, and there would be no avoiding this extension if the instance were put in the module where GenParser is defined. -whereas Parsec has been careful to keep its non-Haskell98 components in separate modules that don't need to be imported: "If you use the ParsecToken or ParsecPerm modules, you need to enable the forall extension." http://www.cs.uu.nl/~daan/download/parsec/parsec.html Is this a correct interpretation, that this would prevent using Parsec with other compilers (e.g. nhc98)? Isaac -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.3 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFGH/iSHgcxvIWYTTURAi5kAJ91LZoGRxEqW3vkiNpyJSB1a/OajgCcD+4m gpzr2HQ+8uUKUEq3vAgJgG4= =cRoJ -----END PGP SIGNATURE-----