Singleton: a general-purpose dependently-typed assembly language

  • Authors:
  • Simon Winwood;Manuel Chakravarty

  • Affiliations:
  • National ICT Australia & University of New South Wales, Sydney, Australia;The University of New South Wales, Sydney, Australia

  • Venue:
  • Proceedings of the 7th ACM SIGPLAN workshop on Types in language design and implementation
  • Year:
  • 2011

Quantified Score

Hi-index 0.00

Visualization

Abstract

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.