Erasable coercions: a unified approach to type systems

Abstract : Functional programming languages, like OCaml or Haskell, rely on the lambda calculus for their core language. Although they have different reduction strategies and type system features, their proof of soundness and normalization (in the absence of recursion) should be factorizable. This thesis does such a factorization for theoretical type systems featuring recursive types, subtyping, bounded polymorphism, and constraint polymorphism. Interestingly, soundness and normalization for strong reduction imply soundness and normalization for all usual strategies. Our observation is that a generalization of existing coercions permits to describe all type system features stated above in an erasable and composable way. We illustrate this by proposing two concrete type systems: first, an explicit type system with a restricted form of coercion abstraction to express subtyping and bounded polymorphism; and an implicit type system with unrestricted coercion abstraction that generalizes the explicit type system with recursive types and constraint polymorphism---but without the subject reduction property. A side technical result is an adaptation of the step-indexed proof technique for type-soundness to calculi equipped with a strong notion of reduction.
Document type :
Theses
Complete list of metadatas

Cited literature [36 references]  Display  Hide  Download

https://tel.archives-ouvertes.fr/tel-00940511
Contributor : Julien Cretin <>
Submitted on : Saturday, February 1, 2014 - 3:16:23 PM
Last modification on : Friday, May 25, 2018 - 12:02:07 PM
Long-term archiving on : Sunday, April 9, 2017 - 5:30:38 AM

Identifiers

  • HAL Id : tel-00940511, version 1

Collections

Citation

Julien Cretin. Erasable coercions: a unified approach to type systems. Programming Languages [cs.PL]. Université Paris-Diderot - Paris VII, 2014. English. ⟨tel-00940511⟩

Share

Metrics

Record views

704

Files downloads

615