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
location:
Galois Inc.
421 SW 6th Ave. Suite 300,
Portland, OR, USA
(3rd floor of the Commonwealth building)

abstract:
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
transformation.
Webpage: http://www.ittc.ku.edu/~neil/