|COOKIES: By using this website you agree that we can place Google Analytics Cookies on your device for performance monitoring.|
Higher-kinded programming in ML
If you have a question about this talk, please contact Raphael Proust.
Higher-kinded polymorphism —i.e. abstraction over type constructors— is an essential component of many functional programming techniques such as monads, folds, and embedded DSLs. ML-family languages typically support a form of abstraction over type constructors using functors, but the separation between the core language and the module language leads to awkwardness as functors proliferate.
We show how to express higher-kinded polymorphism in OCaml without functors, using an abstract type app to represent type application, and opaque brands to denote abstractable type constructors. We demonstrate the flexibility of our approach by using it to translate a variety of standard higher-kinded programs into functor-free OCaml code.
This talk is part of the Computer Laboratory Programming Research Group Seminar series.
This talk is included in these lists:
Note that ex-directory lists are not shown.
Other listsSPIE Cambridge Student Chapter Data Management Roadshow Open Innovation
Other talks2nd year PhD student talks Prof Robyn Slattery: The Songlines between Scientific and Social Silos: A nomadic approach to Immunology teaching, learning and research The Kingsley Martin Memorial Lecture: - Thinking religion today with Gandhi The role of sensory dynamics in driver sterring control Merck, Sharp & Dohme Lecture Writing Sound : Designing Notation : Carolingian Musical Techne