Results 1 
5 of
5
Typed selfrepresentation
 IN PLDI
, 2009
"... Selfrepresentation – the ability to represent programs in their own language – has important applications in reflective languages and many other domains of programming language design. Although approaches to designing typed program representations for sublanguages of some base language have become ..."
Abstract

Cited by 8 (2 self)
 Add to MetaCart
(Show Context)
Selfrepresentation – the ability to represent programs in their own language – has important applications in reflective languages and many other domains of programming language design. Although approaches to designing typed program representations for sublanguages of some base language have become quite popular recently, the question whether a fully metacircular typed selfrepresentation is possible is still open. This paper makes a big step towards this aim by defining the F ∗ ω calculus, an extension of the higherorder polymorphic lambda calculus Fω that allows typed selfrepresentations. While the usability of these representations for metaprogramming is still limited, we believe that our approach makes a significant step towards a new generation of reflective languages that are both safe and efficient.
On Fixed point and Looping Combinators in Type Theory
"... Abstract. The type theories λU and λU − are known to be logically inconsistent. For λU, this is known as Girard’s paradox [Gir72]; for λU − the inconsistency was proved by Coquand [Coq94]. It is also known that the inconsistency gives rise to a so called ”looping combinator”: a family of terms Ln su ..."
Abstract
 Add to MetaCart
(Show Context)
Abstract. The type theories λU and λU − are known to be logically inconsistent. For λU, this is known as Girard’s paradox [Gir72]; for λU − the inconsistency was proved by Coquand [Coq94]. It is also known that the inconsistency gives rise to a so called ”looping combinator”: a family of terms Ln such that Lnf is convertible with f(Ln+1f). It was unclear whether a fixed point combinator exists in these systems. Later, Hurkens [Hur95] has given a simpler version of the paradox in λU − , giving rise to an actual proof term that can be analyzed. In the present paper we analyze the proof of Hurkens and we study the looping combinator that arises from it: it is a real looping combinator (not a fixed point combinator) but in the Curry version of λU − it is a fixedpoint combinator. We also analyze the possibility of typing a fixed point combinator in λU − and we prove that the Church and Turing fixed point combinators cannot be typed in λU −. 1
Type Systems for Modules Notes for Meeting #1
, 2010
"... Mitchell and Plotkin generalize forms of abstract data structures in various languages into the notion of a data algebra — “a composite value constructed from a set and one or more operations, packaged up in a way that limits access. ” Their key result lies in the use of existential types — a la Sys ..."
Abstract
 Add to MetaCart
(Show Context)
Mitchell and Plotkin generalize forms of abstract data structures in various languages into the notion of a data algebra — “a composite value constructed from a set and one or more operations, packaged up in a way that limits access. ” Their key result lies in the use of existential types — a la System F [3, 9] or their own, similar calculus SOL (§3) — as the types of data algebras. Their insight is that the private, implementing type of an algebra corresponds to the witness type of the algebra’s existential type, while the types of that algebra’s operations correspond to the body type τ (as a conjunction) for its existential type (rule AB.1, p.