Lecture
(to appear in ICFP 2011)
Date: 01 August 2011 Time: 12:00 - 13:30
Location: Stelios Orphanoudakis Seminar Room
Host: Polyvios Pratikakis
Abstract:
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.
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.





