Skip to Main content Skip to Navigation

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 :
Complete list of metadata

Cited literature [36 references]  Display  Hide  Download
Contributor : Julien Cretin Connect in order to contact the contributor
Submitted on : Saturday, February 1, 2014 - 3:16:23 PM
Last modification on : Friday, February 4, 2022 - 3:10:24 AM
Long-term archiving on: : Sunday, April 9, 2017 - 5:30:38 AM


  • HAL Id : tel-00940511, version 1



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



Record views


Files downloads