Haskell is Not Not ML
- ðĪ Speaker: Benjamin Rudiak-Gould (University of Cambridge)
- ð Date & Time: Friday 21 November 2008, 15:15 - 16:15
- ð Venue: GS15, Computer Laboratory
Abstract
In this talk I’ll describe a simple intermediate language which is useful for modeling the semantics of strict and non-strict variants of ML and also for compiling them to efficient machine code. The language (“IL”) is similar to core ML, but with continuations (logical negation) instead of functions (logical implication). IL is non-classical (T and ÂŽÂŽT are different types, for example), and classically equivalent types in IL turn out to model different forms of non-termination in ML —in particular, “Haskell” (non-strict) types are the double negation of “ML” (strict) types. IL can be compiled to efficient machine code in such a way that “ML” values have the same in-memory representation as fully-evaluated “Haskell” values, so IL can be used to compile ML and Haskell programs to a common virtual machine within which ML data can be passed to Haskell code at no cost and Haskell data can be passed to ML code with only the cost of a Haskell deepSeq.
Series This talk is part of the Computer Laboratory Programming Research Group Seminar series.
Included in Lists
- All Talks (aka the CURE list)
- bld31
- Cambridge talks
- Computer Laboratory Programming Research Group Seminar
- Department of Computer Science and Technology talks and seminars
- GS15, Computer Laboratory
- Interested Talks
- School of Technology
- Trust & Technology Initiative - interesting events
- yk449
Note: Ex-directory lists are not shown.
![[Talks.cam]](/static/images/talkslogosmall.gif)


Friday 21 November 2008, 15:15-16:15