Results 1 
7 of
7
Equality proofs and deferred type errors: a compiler pearl
 In ICFP
, 2012
"... The Glasgow Haskell Compiler is an optimizing compiler that expresses and manipulates firstclass equality proofs in its intermediate language. We describe a simple, elegant technique that exploits these equality proofs to support deferred type errors. The technique requires us to treat equality pro ..."
Abstract

Cited by 5 (0 self)
 Add to MetaCart
The Glasgow Haskell Compiler is an optimizing compiler that expresses and manipulates firstclass equality proofs in its intermediate language. We describe a simple, elegant technique that exploits these equality proofs to support deferred type errors. The technique requires us to treat equality proofs as possiblydivergent terms; we show how to do so without losing either soundness or the zerooverhead cost model that the programmer expects.
Practical aspects of evidencebased compilation in System FC
"... System FC is an explicitly typed language that serves as the target language for Haskell source programs. System FC is based on System F with the addition of erasable but explicit type equality proof witnesses. This paper improves FC in two directions: The first contribution is extending termlevel ..."
Abstract

Cited by 2 (0 self)
 Add to MetaCart
System FC is an explicitly typed language that serves as the target language for Haskell source programs. System FC is based on System F with the addition of erasable but explicit type equality proof witnesses. This paper improves FC in two directions: The first contribution is extending termlevel functions with the ability to return equality proof witnesses, which allows the smooth integration of equality superclasses and indexed constraint synonyms, features currently absent from Haskell. We show how to ensure soundness and satisfy the zerocost requirement for equality witnesses using a familiar mechanism, already present in GHC: that of unlifted types. Our second contribution is an equality proof simplification algorithm, which greatly reduces the size of the target System FC terms.
Universe Subtyping in MartinLöf Type Theory Internship Report
"... The pragmatic goal of this internship was to establish the theoretical soundness of a particular feature of the Agda proof assistant, the socalled universe polymorphism. This is part of a series of work by my supervisor Andreas Abel [ACD07] aiming to provide a coherent metatheory for the different ..."
Abstract

Cited by 1 (0 self)
 Add to MetaCart
The pragmatic goal of this internship was to establish the theoretical soundness of a particular feature of the Agda proof assistant, the socalled universe polymorphism. This is part of a series of work by my supervisor Andreas Abel [ACD07] aiming to provide a coherent metatheory for the different features implemented or desired in this proof assistant. More precisely, we first considered universe cumulativity, a wellknown feature for universe hierarchy, then universe polymorphism, which is a less explored area, and finally attempted to add irrelevance to the type system, to ease universe levels manipulations. All those notions will be introduced in more detail in the first section. I will highlight the main goals and constraints of the desired theory, in comparison to related works. I will also have to discuss some of the technical choices and issues we have faced; those technical decisions have large consequences – often unforeseen – on the technical development and its structure. The second section will describe the formal type system – or type systems, as we will consider variants – used throughout the report. To this declarative type
ON IRRELEVANCE AND ALGORITHMIC EQUALITY IN PREDICATIVE TYPE THEORY
"... Abstract. Dependently typed programs contain an excessive amount of static terms which are necessary to please the type checker but irrelevant for computation. To obtain reasonable performance of not only the compiled program but also the type checker such static terms need to be erased as early as ..."
Abstract
 Add to MetaCart
Abstract. Dependently typed programs contain an excessive amount of static terms which are necessary to please the type checker but irrelevant for computation. To obtain reasonable performance of not only the compiled program but also the type checker such static terms need to be erased as early as possible, preferably immediately after type checking. To this end, Pfenning’s type theory with irrelevant quantification, that models a distinction between static and dynamic code, is extended to universes and large eliminations. Normalization, consistency, and decidability are obtained via a universal Kripke model based on algorithmic equality. 1. Introduction and Related
Type Systems for Dummies
"... We extend Pure Type Systems with a function turning each term M of type A into a dummy ∣M ∣ of the same type ( ∣ ⋅ ∣ is not an identity, in that M ≠ ∣M∣). Intuitively, a dummy represents an unknown, canonical object of the given type: dummies are opaque (cannot be internally inspected), and irrele ..."
Abstract
 Add to MetaCart
We extend Pure Type Systems with a function turning each term M of type A into a dummy ∣M ∣ of the same type ( ∣ ⋅ ∣ is not an identity, in that M ≠ ∣M∣). Intuitively, a dummy represents an unknown, canonical object of the given type: dummies are opaque (cannot be internally inspected), and irrelevant in the sense that dummies of a same type are convertible to each other. This latter condition makes convertibility in PTS with dummies (DPTS) stronger than usual, hence raising not trivial consistency issues. DPTS offer an alternative approach to (proof) irrelevance, tagging irrelevant information at the level of terms and not of types, and avoiding the annoying syntactical duplication of products, abstractions and applications into an explicit and an implicit version, typical of systems like ICC ∗. Categories and Subject Descriptors F.4.1 [Mathematical Logic