Coercions effaçables : une approche unifiée des systèmes de types

par Julien Cretin

Thèse de doctorat en Informatique

Sous la direction de Didier Rémy.

Soutenue en 2014

à Paris 7 .


  • Résumé

    Les langages de programmation fonctionnels, comme OCaml ou Haskell, reposent sur le lambda calcul en tant que langage noyau. Bien qu'ils aient des stratégies de réduction et des caractéristiques de systèmes de types différentes, leur preuve de correction et de normalisation (en l'absence de réduction) devrait être factorisable. Cette thèse établit une telle factorisation pour des systèmes de types théoriques présentant des types récursifs, du sous-typage, du polymorphisme borné et du polymorphisme contraint. Il est intéressant de remarquer que la correction et la normalisation en réduction forte, implique la correction et la normalisation pour toutes les stratégies usuelles. Notre travail montre qu'une généralisation des coercions actuelles permet de décrire toutes les caractéristiques de systèmes de types citées plus haut de manière effaçable et composable. Nous illustrons ceci en présentant deux systèmes de types concrets : tout d'abord, un système de types explicite avec une forme restreinte d'abstraction sur les coercions pour exprimer le sous-typage et le polymorphisme borné ; puis un système de types implicite sans restriction sur l'abstraction de coercions et qui étend le système explicite avec des types récursifs du polymorphisme contraint --- mais sans la propriété de préservation du typage. Un résultat annexe est l'adaptation des techniques de step-indexing pour la correction des calculs en réduction forte.


  • Résumé

    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 polymorphismm ; 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.

Consulter en bibliothèque

La version de soutenance existe sous forme papier

Informations

  • Détails : 1 vol. (175 p.)
  • Annexes : 41 réf.

Où se trouve cette thèse\u00a0?

  • Bibliothèque : Université Paris Diderot - Paris 7. Service commun de la documentation. Bibliothèque Universitaire des Grands Moulins.
  • PEB soumis à condition
  • Cote : TS (2014) 012

Cette version existe également sous forme de microfiche :

  • Bibliothèque : Université de Lille. Service commun de la documentation. Bibliothèque universitaire de Sciences Humaines et Sociales.
  • Non disponible pour le PEB
  • Cote : 2014PA077012
  • Bibliothèque : Université Paris-Est Créteil Val de Marne. Service commun de la documentation. Section multidisciplinaire.
  • PEB soumis à condition
Voir dans le Sudoc, catalogue collectif des bibliothèques de l'enseignement supérieur et de la recherche.