ACL2 Seminar
Tuesday, March 5, 2013

William Cook will talk about monads. Here's what he says about his talk:

I'll give an introduction to Monads as a mechanism for structuring computations. I'll cover state, errors, and non-determinism, and then talk about how input-output can be expressed as a monad. There will be no slides. It will be an interactive tutorial/discussion/exploration. I hope that by the end of the talk you will understand what monads are, in some fundamental sense. You might also understand the famous apocryphal quip, attributed to Phil Wadler, that "a monad is a monoid in the category of endofunctors, what's the problem?" (If you haven't read the source, you might find it amusing: http://james-iry.blogspot.com/2009/05/brief-incomplete-and-mostly-wrong.html.) Also, I am hoping to put a version of this tutorial into my effort at writing an undergraduate PL textbook, a version of which is available here:
http://www.cs.utexas.edu/~wcook/Courses/345/index.htm