Write a Blog >>
ICFP 2018
Sun 23 - Sat 29 September 2018 St. Louis, Missouri, United States
Thu 27 Sep 2018 10:20 - 10:45 at New York Central - Types Chair(s): Richard A. Eisenberg

A well known technique to implement a programming language with delimited control operators shift and reset is to translate programs into continuation passing style (CPS). We can iterate the CPS translation to implement a family of control operators shift_i and reset_i . This functional pearl retells the story of a family of delimited control operators and their translation to lambda calculus via the CPS hierarchy. Prior work on the CPS hierarchy fixes a level of n control operators for the entire program upfront. In contrast, we allow different parts of the program to live at different levels. It turns out that taking shift_0 rather than shift as the basis for the family of control operators is essential for this. Our source language is a typed embedding in the dependently typed language Idris. Our target language is a HOAS embedding in Idris. Guided by the types, the translation applies well known techniques to avoiding administrative beta- and eta-redexes at all levels of the CPS hierarchy.

Thu 27 Sep

tyde-2018
10:20 - 12:00: TyDe 2018 - Types at New York Central
Chair(s): Richard A. EisenbergBryn Mawr College, USA
tyde-201810:20 - 10:45
Research paper
Philipp SchusterUniversity of Tübingen, Germany, Jonathan Immanuel BrachthäuserUniversity of Tübingen, Germany
DOI
tyde-201810:45 - 11:10
Research paper
Joomy KorkutWesleyan University, USA, David Thrane ChristiansenGalois, USA
DOI
tyde-201811:10 - 11:35
Research paper
Victor Cacciari MiraldoUtrecht University, Netherlands, Alejandro SerranoUtrecht University, Netherlands
DOI
tyde-201811:35 - 12:00
Research paper
Ilya YanokUSI Lugano, Switzerland, Nate NystromUSI Lugano, Switzerland
DOI