Results 1 -
3 of
3
Typed self-representation
- IN PLDI
, 2009
"... Self-representation – 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 4 (0 self)
- Add to MetaCart
Self-representation – 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 higher-order polymorphic lambda calculus Fω that allows typed self-representations. 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
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 fixed-point 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

