BEGIN:VCALENDAR
VERSION:2.0
PRODID:-//Talks.cam//talks.cam.ac.uk//
X-WR-CALNAME:Talks.cam
BEGIN:VEVENT
SUMMARY:Higher-kinded programming in ML - Jeremy Yallop\, University of Ca
 mbridge
DTSTART:20140523T130000Z
DTEND:20140523T140000Z
UID:TALK52582@talks.cam.ac.uk
CONTACT:Raphael Proust
DESCRIPTION:Higher-kinded polymorphism —i.e. abstraction over type *cons
 tructors*— is an essential component of many functional programming tech
 niques such as monads\, folds\, and embedded DSLs. ML-family languages typ
 ically support a form of abstraction over type constructors using functors
 \, but the separation between the core language and the module language le
 ads to awkwardness as functors proliferate.\n\nWe show how to express high
 er-kinded polymorphism in OCaml without functors\, using an abstract type 
 app to represent type application\, and opaque brands to denote abstractab
 le type constructors. We demonstrate the flexibility of our approach by us
 ing it to translate a variety of standard higher-kinded programs into func
 tor-free OCaml code.
LOCATION:SS03
END:VEVENT
END:VCALENDAR
