## CPS Translating Inductive and Coinductive Types (Extended Abstract) (2002)

Venue: | In: Proc. of 2002 ACM SIGPLAN Wksh. on Partial Evaluation and Semantics-Based Program Manipulation, PEPM'02 |

Citations: | 2 - 0 self |

### BibTeX

@INPROCEEDINGS{Barthe02cpstranslating,

author = {Gilles Barthe and Tarmo Uustalu},

title = {CPS Translating Inductive and Coinductive Types (Extended Abstract)},

booktitle = {In: Proc. of 2002 ACM SIGPLAN Wksh. on Partial Evaluation and Semantics-Based Program Manipulation, PEPM'02},

year = {2002},

pages = {131--142},

publisher = {ACM Press}

}

### OpenURL

### Abstract

We investigate CPS translatability of typed lambda-calculi with inductive and coinductive types. We show that tenable Plotkin-style call-by-name CPS translations exist for simply typed lambda-calculi with a natural number type and stream types and, more generally, with arbitrary positive inductive and coinductive types. These translations also work in the presence of control operators and generalize for dependently typed calculi where case-like eliminations are only allowed in non-dependent forms. No translation is possible along the same lines for small Sigma-types and sum types with dependent case.

### Citations

620 |
Compiling with Continuations
- Appel
- 1992
(Show Context)
Citation Context ...c permission and/or a fee. PEPM '02 Jan. 14--15, 2002 Portland, OR, USA Copyright 2002 ACM 1-58113-455-X/02/01 ...$5.00. languages are commonly used as intermediate languages in compilers, see, e.g., =-=[3, 1-=-8]. CPS translations are transformations converting programs into CPS terms. In a seminal paper [41], Plotkin dened call-by-value and call-byname CPS translations for the untyped -calculus and establi... |

518 | Lambda calculi with types
- Barendregt
- 1992
(Show Context)
Citation Context ...n of Plotkin's call-by-name CPS translation scales up for a large class of Pure Type Systems including the Calculus of Constructions (CC) and therefore also all smaller systems of Barendregt's -cube [=-=5-=-]. For technical simplicity, most of their work is cast in the framework of domainfreesPure Type Systems [9], a variant of Pure Type Systems where -abstractions do not carry the domain of their bound ... |

66 |
A symmetric lambda calculus for classical program extraction, Information and computation
- Barbanera, Berardi
- 1996
(Show Context)
Citation Context ...typed languages, see, e.g., [19, 44]. Grin's discovery initiated a series of studies on the computational content of classical proofs where CPS translations are a frequently employed tool, see, e.g., =-=[13, 33, 38, 39, 34, 12, 4, 42, 24, 25, 35, 36, 6]-=-. Inductive and coinductive types, see, e.g., [31, 29, 20, 15, 40], are syntactic representations for initial algebras (such as natural numbers and lists) resp.snal coalgebras (such as conatural numbe... |

54 | Program extraction from classical proofs
- Berger, Schwichtenberg
- 1994
(Show Context)
Citation Context ...typed languages, see, e.g., [19, 44]. Grin's discovery initiated a series of studies on the computational content of classical proofs where CPS translations are a frequently employed tool, see, e.g., =-=[13, 33, 38, 39, 34, 12, 4, 42, 24, 25, 35, 36, 6]-=-. Inductive and coinductive types, see, e.g., [31, 29, 20, 15, 40], are syntactic representations for initial algebras (such as natural numbers and lists) resp.snal coalgebras (such as conatural numbe... |

34 | Extensions of pure type systems - Barthe - 1995 |

6 |
CPS-translations and applications: the cube and beyond
- Barthe, Hatcliff, et al.
- 1999
(Show Context)
Citation Context ...spond to well-known embeddings of classical logic into intuitionistic logic. Subsequently, typed CPS translations and correctness results have been given for more powerful typed -calculi, see, e.g., [=-=27, 28, 8]-=-, and applied to the compilation and optimization of typed languages, see, e.g., [19, 44]. Grin's discovery initiated a series of studies on the computational content of classical proofs where CPS tra... |

4 |
SÃ¸rensen. A notion of classical pure type system (preliminary version
- Barthe, Hatcliff, et al.
- 1997
(Show Context)
Citation Context ...typed languages, see, e.g., [19, 44]. Grin's discovery initiated a series of studies on the computational content of classical proofs where CPS translations are a frequently employed tool, see, e.g., =-=[13, 33, 38, 39, 34, 12, 4, 42, 24, 25, 35, 36, 6]-=-. Inductive and coinductive types, see, e.g., [31, 29, 20, 15, 40], are syntactic representations for initial algebras (such as natural numbers and lists) resp.snal coalgebras (such as conatural numbe... |

3 |
Representations of order function types as terminal coalgebras
- Altenkirch
- 2001
(Show Context)
Citation Context ...original CPS translation, cannot be extended to deal with dependent case analysis. Besides, our results shed some light on the simulability of inductive types by coinductive types and vice versa, cf. =-=[2]-=-, and the computational content of commuting reductions, cf. [26]. Organization of the paper The paper is organized as follows. In Section 2, we review CPS translation of the standard extension of sim... |

2 |
A realization of the negative interpretation of the axiom of choice
- Berardi, Bezem, et al.
(Show Context)
Citation Context ...d(n) : cpstJB[fst(N)=x]K which is not the case. The diculty of CPS translating -types seems closely related to the diculties of extracting the constructive content of the axiom of choice, see, e.g., [=-=10-=-]. Small -types with small non-dependent split instead of projections, on the other hand, are unproblematic. Instead of object forms fst(N ), snd(N ), they come with an object form split(N; (x; u): P ... |

2 |
A constructive interpretation of positive inductive de Unpublished draft
- Berger
- 1995
(Show Context)
Citation Context ...morphism. One of the eects is that strictly positive (co)inductive types such as Nat = Z: 1 +Z get transformed into (double negations of) non-strictly positive ones such as Nat c = Z: 1 + ::Z, cf. [11]. Second, we consider the CPS translation of ; , which extends ; with a control operator described in [42]. Since the CPS translation provides an embedding from languages with control to lang... |