Monads

Ken Shan ken@digitas.harvard.edu
Fri, 18 May 2001 15:08:47 -0400


--ZGiS0Q5IWpPtfppv
Content-Type: text/plain; charset=us-ascii
Content-Disposition: inline
Content-Transfer-Encoding: quoted-printable

On 2001-05-18T08:56:57+0200, Jerzy Karczmarczuk wrote:
> The examples are already in the Wadler's "Essence". Imagine the=20
> construction of a small interpreter, a virtual machine which not only
> evaluates the expressions (belonging to a trivial Monad), but perform
> some side effects, or provides for exceptions propagated through a
> chain of Maybes. Then the idea is to
>=20
> * base the machine on the appropriate Monad
> * "lift" all standard operators so that an innocent user can write (f x)
>   and never x >>=3D f (or even worse).

Perhaps you already know about Filinski's PhD thesis?  He seems to
have proven that we already have the "small interpreter" you want,
inside of any programming language that supports call/cc and storing a
function in a single storage cell.  ML is such a programming language.
You can define your own monads yet rely on implicit evaluation
ordering in ML to do the lifting you want!

--=20
Edit this signature at http://www.digitas.harvard.edu/cgi-bin/ken/sig
Learn Esperanto and make friends around the world
http://www.esperanto.net

--ZGiS0Q5IWpPtfppv
Content-Type: application/pgp-signature
Content-Disposition: inline

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.0.4 (GNU/Linux)
Comment: For info see http://www.gnupg.org

iD8DBQE7BXM/zjAc4f+uuBURAtYcAKCafrEuesrlWUObVdidMDJf5VCzwACfcAQb
9vI2sHi/yei+T2JVHxC/sZE=
=fDKP
-----END PGP SIGNATURE-----

--ZGiS0Q5IWpPtfppv--