Singleton: A General-Purpose Dependently-Typed Assembly Language

Simon Winwood and Manuel M. T. Chakravarty.

In The Sixth ACM SIGPLAN Workshop on Types in Language Design and Implementation, ACM Press, 2011.

In this paper we present Singleton, a dependently typed assembly language. Based upon the calculus of inductive constructions, Singleton's type system allows procedures abstracting over terms, types, propositions, and proof terms.

Furthermore, Singleton includes generalised singleton types. In addition to the primitive singleton types of other languages, these generalised singleton types allow the values from arbitrary inductive types to be associated with the contents of registers and memory locations. Along with Singleton's facility for term and proof abstraction, generalised singleton types allow strong statements to be made about the functional behaviour of Singleton programs.

We have formalised basic properties of Singleton's type system, namely type safety and a type erasure property, using the Coq proof assistant.

PDF (12 pages)

This page is part of Manuel Chakravarty's WWW-stuff.