[an error occurred while processing this directive] An error occured whilst processing this directive LFCS Theory Seminar

Bridging the gulf again: a monadic intermediate
language for ML and Haskell.

Mark Shields and
Simon Peyton Jones

Department of Computer Science
University of Glasgow

4.15pm Tuesday 30 June 1998
Room 2511, JCMB, King's Buildings


Abstract

Compilers for ML and Haskell use intermediate languages that incorporate deeply-embedded assumptions about order of evaluation and side effects. We propose an intermediate language into which one can compile a modest subset of both ML and Haskell, thereby facilitating the sharing of ideas and infrastructure, and supporting language developments that move each language in the direction of the other.

Achieving this goal without compromising the ability to compile as good code as a more direct route turned out to be much more subtle than we expected. Even the POPL reviewers didn't spot the flaws in our '98 POPL paper! Andrzej Filinski did, though. Since then we have found an alternative and promising looking approach, in which every computation (even ones which have no side effects and are sure to terminate) has a monadic type. The extensions to recursive data types (not discussed in our paper) are also quite tricky.

In this seminar, which will be a double act, we'll try to give a flavour of what our goals are, explain why they are tricky to achieve, and describe our current approach.


Other LFCS Theory Seminars Ian Stark
Tuesday 23 June 1998
An error occured whilst processing this directive