Results 1 -
5 of
5
Domain-Free Pure Type Systems
- JOURNAL OF FUNCTIONAL PROGRAMMING
, 1993
"... Pure type systems make use of domain-full λ-abstractions λx:D.M . We present a variant of pure type systems, which we call domain-free pure type systems, with domain-free λ-abstractions λx.M. Domain-free pure type systems have a number of advantages over both pure type systems and so-called type ass ..."
Abstract
-
Cited by 25 (8 self)
- Add to MetaCart
Pure type systems make use of domain-full λ-abstractions λx:D.M . We present a variant of pure type systems, which we call domain-free pure type systems, with domain-free λ-abstractions λx.M. Domain-free pure type systems have a number of advantages over both pure type systems and so-called type assignment systems (they also have some disadvantages) and have been used in theoretical developments as well as in implementations of proof-assistants. We study the basic properties of domain-free pure type systems, establish their formal relationship with pure type systems and type assignment systems, and give a number of applications of these correspondences.
CPS Translations and Applications: The Cube and Beyond
- Higher Order and Symbolic Computation
, 1996
"... Continuation passing style (CPS) translations of typed -calculi have numerous applications. However, the range of these applications has been conned by the fact that CPS translations are known for non-dependent type systems only, thus excluding well-known systems like the calculus of constructions ( ..."
Abstract
-
Cited by 9 (2 self)
- Add to MetaCart
Continuation passing style (CPS) translations of typed -calculi have numerous applications. However, the range of these applications has been conned by the fact that CPS translations are known for non-dependent type systems only, thus excluding well-known systems like the calculus of constructions (CC) and the logical frameworks (LF). This paper presents techniques for CPS translating systems with dependent types, with an emphasis on pure type-theoretical applications.
Singleton types here Singleton types there Singleton Types Everywhere
, 2009
"... Singleton types are often considered a poor man’s substitute for dependent types. But their generalization in the form of GADTs has found quite a following. The main advantage of singleton types and GADTs is to preserve the so-called phase distinction, which seems to be so important to make use of t ..."
Abstract
-
Cited by 4 (0 self)
- Add to MetaCart
Singleton types are often considered a poor man’s substitute for dependent types. But their generalization in the form of GADTs has found quite a following. The main advantage of singleton types and GADTs is to preserve the so-called phase distinction, which seems to be so important to make use of the usual compilation techniques. Of course, they considerably restrict the programmers, which often leads them to duplicate code at both the term and type levels, so as to reflect at the type level what happens at the term level, in order to be able to reason about it. In this article, we show how to automate such a duplication while eliminating the problematic dependencies. More specifically, we show how to compile the Calculus of Constructions into λH, a non-dependently-typed language, while still preserving all the typing information. Since λH has been shown to be amenable to type preserving CPS and closure conversion, it shows a way to preserve types when doing code extraction and more generally when using all the common compiler techniques.
CPS Translating Inductive and Coinductive Types (Extended Abstract)
- In: Proc. of 2002 ACM SIGPLAN Wksh. on Partial Evaluation and Semantics-Based Program Manipulation, PEPM'02
, 2002
"... 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 a ..."
Abstract
-
Cited by 2 (0 self)
- Add to MetaCart
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.
Background
"... We investigate CPS translatability of typed λ-calculi with inductive and coinductive types. We show that tenable Plotkin-style call-by-name CPS translations exist for simply typed λ-calculi with a natural number type and stream types and, more generally, with arbitrary positive inductive and coinduc ..."
Abstract
- Add to MetaCart
We investigate CPS translatability of typed λ-calculi with inductive and coinductive types. We show that tenable Plotkin-style call-by-name CPS translations exist for simply typed λ-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 Σ-types and sum types with dependent case.

