University of Oxford Logo University of OxfordDepartment of Computer Science - Home

Semantics and Type Checking of Dependently−Typed Lazy Functional Programs

Yorck Hünke

Abstract

We present a denotational semantics, type checking algorithm and soundness result for a language with dependent function and record types, dependent case expressions, a fixpoint combinator and a type of all types. The design of our algorithm is guided by key ideas from related work on the semantics of dependent types in domain theory, normalisation of typed lambda terms with sums, and subtyping of recursive types. We address a subtlety that arises with respect to the soundness of checking case expressions if the underlying language is based on a non-strict evaluation order. Subtyping of recursive types is extended to take into account functions occurring in types. The expressiveness of our language comes at the cost of undecidable type checking; we discuss the limitations of our algorithm, which arise mainly from the interaction of case expressions and fixpoints

Details

Institution

Oxford University Computing Laboratory

Month

July

Number

RR−04−15

Year

2004

Links

BibTeX

Download  (ps)

Related pages