Lazy bind...
Ken Shan
ken@digitas.harvard.edu
Tue, 30 Jul 2002 13:30:25 -0400
--qMm9M+Fa2AknHoGS
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable
Can you please give your definition of the Parser and ParserT type
constructors? My guesses are:
data State =3D ...
data Message =3D ...
data Accept a =3D Fail Message | Empty | Ok State a
data Decide a =3D Rejected | Accepted a
data Parser a =3D Parser (State -> Decide (Accept a))
data ParserT m a =3D Parser (State -> m (Decide (Accept a)))
I wonder if it wouldn't be possible to redefine ParserT as
data ParserT m a =3D Parser (State -> m (Decide (m (Accept a))))
?
--=20
Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig
The trick is that there is no trick.
--qMm9M+Fa2AknHoGS
Content-Type: application/pgp-signature
Content-Disposition: inline
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.7 (GNU/Linux)
iD8DBQE9Rs0wzjAc4f+uuBURAkY2AJ9R1llRandS3qRuiCniyparKVhhXACfQVl1
I3FjIxODLO4n4hkxVQlhQ30=
=rbNS
-----END PGP SIGNATURE-----
--qMm9M+Fa2AknHoGS--