Liberal typing for functional logic programs

  • Authors:
  • Francisco López-Fraguas;Enrique Martin-Martin;Juan Rodríguez-Hortalá

  • Affiliations:
  • Departamento de Sistemas Informáticos y Computación, Universidad Complutense de Madrid, Spain;Departamento de Sistemas Informáticos y Computación, Universidad Complutense de Madrid, Spain;Departamento de Sistemas Informáticos y Computación, Universidad Complutense de Madrid, Spain

  • Venue:
  • APLAS'10 Proceedings of the 8th Asian conference on Programming languages and systems
  • Year:
  • 2010

Quantified Score

Hi-index 0.00

Visualization

Abstract

We propose a new type system for functional logic programming which is more liberal than the classical Damas-Milner usually adopted, but it is also restrictive enough to ensure type soundness. Starting from Damas-Milner typing of expressions we propose a new notion of well-typed program that adds support for type-indexed functions, existential types, opaque higher-order patterns and generic functions--as shown by an extensive collection of examples that illustrate the possibilities of our proposal. In the negative side, the types of functions must be declared, and therefore types are checked but not inferred. Another consequence is that parametricity is lost, although the impact of this flaw is limited as "free theorems" were already compromised in functional logic programming because of non-determinism.