Constraint-Based Type Inference for Guarded Algebraic Data Types - Inria - Institut national de recherche en sciences et technologies du numérique Accéder directement au contenu
Rapport (Rapport De Recherche) Année : 2005

Constraint-Based Type Inference for Guarded Algebraic Data Types

Vincent Simonet
  • Fonction : Auteur

Résumé

Guarded algebraic data types subsume the concepts known in the literature as indexed types, guarded recursive datatype constructors, and first-class phantom types, and are closely related to inductive types. They have the distinguishing feature that, when typechecking a function defined by cases, every branch may be checked under different assumptions about the type variables in scope. This mechanism allows exploiting the presence of dynamic tests in the code to produce extra static type information. We propose an extension of the constraint-based type system HM(X) with deep pattern matching, guarded algebraic data types, and polymorphic recursion. We prove that the type system is sound and that, provided recursive function definitions carry a type annotation, type inference may be reduced to constraint solving. Then, because solving arbitrary constraints is expensive, we further restrict the form of type annotations and prove that this allows producing so-called tractable constraints. Last, in the specific setting of equality, we explain how to solve tractable constraints. To the best of our knowledge, this is the first generic and comprehensive account of type inference in the presence of guarded algebraic data types.

Domaines

Autre [cs.OH]
Fichier principal
Vignette du fichier
RR-5462.pdf (611.11 Ko) Télécharger le fichier
Loading...

Dates et versions

inria-00070544 , version 1 (19-05-2006)

Identifiants

  • HAL Id : inria-00070544 , version 1

Citer

Vincent Simonet, François Pottier. Constraint-Based Type Inference for Guarded Algebraic Data Types. [Research Report] RR-5462, INRIA. 2005, pp.65. ⟨inria-00070544⟩
118 Consultations
143 Téléchargements

Partager

Gmail Facebook X LinkedIn More