Abstract

This paper presents an extension of an ML style type system to support dependent product types for programs. The study is based on the lambda calculus with primitive recursion and a simple type system with primitive recursive sequences of types and products dependent on natural numbers. I show that it is possible in this system, called Tπ, to type a sensible primitive recursive function that is not typable in ML. The paper presents typing rules, a semantic model with soundness and completeness theorems, and examples of how to type representations of tuples and projections as products dependent on the tuple width. I discuss a method for type reconstruction that extends ML style type reconstruction to dependent types. The type system is a representation of an earlier system by Tait [9] and Martin Lof

Full Text
Published version (Free)

Talk to us

Join us for a 30 min session where you can share your feedback and ask us any queries you have

Schedule a call