## Lazy Type Checking in Functional Logic Programming

### BibTeX

@MISC{Almendros-Jiménez_lazytype,

author = {Jesús M. Almendros-Jiménez},

title = {Lazy Type Checking in Functional Logic Programming},

year = {}

}

### OpenURL

### Abstract

In this paper we propose a lazy functional and logic language with a type system combining parametric and inclusion polymorphism. Programs in this language consist of an specication of parametric and ordered types together with a set of type declarations for data constructors and functions and a set of conditional constructor based rewriting rules describing the behaviour of functions, where the conditional part includes data and type conditions. In order to dene the semantics of the language we present a typed rewriting logic by means of two inference calculi, which allow to prove the validity of well-typed formulas w.r.t. a program. The operational semantics of the language is presented by means of a typed lazy narrowing calculus for goal solving which combines equational solving, lazy unication, sharing and type checking. In order to keep up the laziness of the language a lazy type checking is achieved during the goal solving process. We state soundness and complete...