Stratified type inference for generalized algebraic data types - INRIA - Institut National de Recherche en Informatique et en Automatique Accéder directement au contenu
Communication Dans Un Congrès Année : 2006

Stratified type inference for generalized algebraic data types

Résumé

We offer a solution to the type inference problem for an extension of Hindley and Milner's type system with generalized algebraic data types. Our approach is in two strata. The bottom stratum is a core language that marries type inference in the style of Hindley and Milner with type checking for generalized algebraic data types. This results in an extremely simple specification, where case constructs must carry an explicit type annotation and type conversions must be made explicit. The top stratum consists of (two variants of) an independent shape inference algorithm. This algorithm accepts a source term that contains some explicit type information, propagates this information in a local, predictable way, and produces a new source term that carries more explicit type information. It can be viewed as a preprocessor that helps produce some of the type annotations required by the bottom stratum. It is proven sound in the sense that it never inserts annotations that could contradict the type derivation that the programmer has in mind.
Fichier non déposé

Dates et versions

inria-00629091 , version 1 (05-10-2011)

Identifiants

  • HAL Id : inria-00629091 , version 1

Citer

François Pottier, Yann Régis-Gianas. Stratified type inference for generalized algebraic data types. POPL'06 - Proceedings of the 33rd ACM Symposium on Principles of Programming Languages, Jan 2006, Charleston, South Carolina, United States. pp.232--244. ⟨inria-00629091⟩
88 Consultations
0 Téléchargements

Partager

Gmail Facebook X LinkedIn More