Many useful programming constructions can be expressed as
monads. Examples include probabilistic modeling, functional reactive
programming, parsing, and information flow tracking, not to mention
effectful functionality like state and I/O. We present a type-based
rewriting algorithm to make programming with arbitrary monads as easy
as using ML's built-in support for state and I/O. Developers write
programs using monadic values of type m τ as if they were of type τ,
and our algorithm inserts the necessary binds, units, and
monad-to-monad morphisms so that the program type checks.
Coco is a prototype implementation of our approach for core ML. We
will demonstrate how to take advantage of Coco to facilitate using
monadic libraries in practice.
Lightweight Monadic Programming in ML<br> (to appear in ICFP 2011)

01.08.2011
Speaker : Nikhil Swamy, Daan Leijen (Microsoft Research), Nataliya Guts, Michael Hicks (University of Maryland)
Date : 01.08.2011
Time: 12:00 - 13:30
Location : Stelios Orphanoudakis Seminar Room
Host : Polyvios Pratikakis
Date : 01.08.2011
Time: 12:00 - 13:30
Location : Stelios Orphanoudakis Seminar Room
Host : Polyvios Pratikakis
Abstract:
Bio:
Nataliya Guts is a PostDoctoral researcher, working with Mike Hicks at the
Programming Languages group of the University of Maryland. She obtained
a PhD at the MSR-INRIA Joint Centre, and a License d'Informatique and
Master's MPRI from the University Paris 6. Her research interests focus on
typed programming languages and security.