Tech Talk: The Constrained-Monad Problem

  • Date  Time
  • Speaker
  • Location

Galois is pleased to host the following tech talk. These talks are open to
the interested public–please join us! (There is no need to pre-register for
the talk.)

title:The Constrained-Monad Problem

speaker: Neil Sculthorpe
time: Tuesday, 25 June 2013, 10:30am
Galois Inc.
421 SW 6th Ave. Suite 300,
Portland, OR, USA
(3rd floor of the Commonwealth building)

In Haskell, there are many data types that would form monads were it not for
the presence of type-class constraints on the operations on that data type.
This is a frustrating problem in practice, because there is a considerable
amount of support and infrastructure for monads that these data types cannot
use. This talk will demonstrate that a monadic computation can be
restructured into a normal form such that the standard monad class can be used.
The technique is not specific to monads — it can also be applied
to other structures, such as applicative functors. One significant use case
for this technique is Domain Specific Languages, where it is often desirable to
compile a deep embedding of a computation to some other language,
which requires restricting the types that can appear in that computation.

bio: Originally from England, I did my PhD in the Functional
Programming Laboratory at the University of Nottingham, on the topic of
Functional Reactive Programming. I moved to the University of Kansas last
year, where I’m a post-doc in the Functional Programming Group. Most of my
time is spent working on the HERMIT project, a toolkit for the interactive
transformation of the Glasgow Haskell Compiler’s core language. I’m
principally a Haskell programmer, and my research interests include type
systems, equational reasoning, domain-specific languages and program