BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Haskell is Not Not ML - Benjamin Rudiak-Gould (University of Cambr
 idge)
DTSTART:20081121T151500Z
DTEND:20081121T161500Z
UID:TALK15322@talks.cam.ac.uk
CONTACT:Boris Feigin
DESCRIPTION:In this talk I'll describe a simple intermediate language whic
 h is useful for modeling the semantics of strict and non-strict variants o
 f ML and also for compiling them to efficient machine code. The language (
 "IL") is similar to core ML\, but with continuations (logical negation) in
 stead 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 partic
 ular\, "Haskell" (non-strict) types are the double negation of "ML" (stric
 t) 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 "Has
 kell" values\, so IL can be used to compile ML and Haskell programs to a c
 ommon virtual machine within which ML data can be passed to Haskell code a
 t no cost and Haskell data can be passed to ML code with only the cost of 
 a Haskell deepSeq.\n
LOCATION:GS15\, Computer Laboratory
END:VEVENT
END:VCALENDAR
