I got plenty o’ nuttin’

Research output: Chapter in Book/Report/Conference proceedingConference contribution book

12 Citations (Scopus)

Abstract

Work to date on combining linear types and dependent types has deliberately and successfully avoided doing so. Entirely fit for their own purposes, such systems wisely insist that types depend only on the replicable sublanguage, thus sidestepping the issue of counting uses of limited-use data either within types or in ways which are only really needed to shut the typechecker up. As a result, the linear implication ('lollipop') stubbornly remains a non-dependent ST. This paper defines and establishes the basic metatheory of a type theory supporting a 'dependent lollipop' (x:S) ⊸ T[x], where what the input used to be is in some way commemorated by the type of the output. For example, we might convert list to length-indexed vectors in place by a function with type (l: List X) ⊸ Vector X (length l). Usage is tracked with resource annotations belonging to an arbitrary rig, or 'riNg without Negation'. The key insight is to use the rig's zero to mark information in contexts which is present for purposes of contemplation rather than consumption, like a meal we remember fondly but cannot eat twice. We need no runtime copies of l to form the above vector type. We can have plenty of nothing with no additional runtime resource, and nothing is plenty for the construction of dependent types.

Original languageEnglish
Title of host publicationA List of Successes That Can Change the World
Subtitle of host publicationEssays Dedicated to Philip Wadler on the Occasion of His 60th Birthday
EditorsSam Lindley, Conor McBride, Phil Trinder, Don Sannella
Place of PublicationSwitzerland
PublisherSpringer
Pages207-233
Number of pages27
ISBN (Print)9783319309354
DOIs
Publication statusPublished - 25 Mar 2016

Publication series

NameLecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics)
Volume9600
ISSN (Print)0302-9743

    Fingerprint

Keywords

  • computer science
  • computers
  • dependent types
  • in contexts
  • linear implications
  • linear types
  • meta-theory
  • runtimes
  • type theory
  • artificial intelligence

Cite this

McBride, C. (2016). I got plenty o’ nuttin’. In S. Lindley, C. McBride, P. Trinder, & D. Sannella (Eds.), A List of Successes That Can Change the World: Essays Dedicated to Philip Wadler on the Occasion of His 60th Birthday (pp. 207-233). (Lecture Notes in Computer Science (including subseries Lecture Notes in Artificial Intelligence and Lecture Notes in Bioinformatics); Vol. 9600). Switzerland: Springer. https://doi.org/10.1007/978-3-319-30936-1_12