2015
DOI: 10.1145/2775051.2676969
|View full text |Cite
|
Sign up to set email alerts
|

Integrating Linear and Dependent Types

Abstract: In this paper, we show how to integrate linear types with type dependency, by extending the linear/non-linear calculus of Benton to support type dependency. Next, we give an application of this calculus by giving a proof-theoretic account of imperative programming, which requires extending the calculus with computationally irrelevant quantification, proof irrelevance, and a monad of computations. We show the soundness of our theory by giving a realizability model in the style of Nuprl, which permits us to vali… Show more

Help me understand this report

Search citation statements

Order By: Relevance

Paper Sections

Select...
1
1
1
1

Citation Types

0
17
0

Year Published

2016
2016
2023
2023

Publication Types

Select...
5
2
2

Relationship

0
9

Authors

Journals

citations
Cited by 24 publications
(17 citation statements)
references
References 29 publications
0
17
0
Order By: Relevance
“…where tensor is a type-level function that duplicates the argument wire type (qubit) some number of times (defined below). Combining linear and dependent types is still an area of active research (Krishnaswami et al 2015;McBride 2016) but thanks to the separation between the circuit and host languages, we can get away with a limited form of dependent types due to Krishnaswami et al (2015). Under this strategy, types can depend on terms, but only terms of classical (non-linear) type.…”
Section: Dependent Typesmentioning
confidence: 99%
See 1 more Smart Citation
“…where tensor is a type-level function that duplicates the argument wire type (qubit) some number of times (defined below). Combining linear and dependent types is still an area of active research (Krishnaswami et al 2015;McBride 2016) but thanks to the separation between the circuit and host languages, we can get away with a limited form of dependent types due to Krishnaswami et al (2015). Under this strategy, types can depend on terms, but only terms of classical (non-linear) type.…”
Section: Dependent Typesmentioning
confidence: 99%
“…On the logical side, QWIRE draws on Benton's (1995) linear/nonlinear logic (LNL), which partitions the exponential from Girard's linear logic (1987) into a purely linear fragment and a purely nonlinear fragment connected via a categorical adjunction. Variations on LNL have extended the logical framework to type systems for other substructural logics (Pfenning and Griffith 2015), polarized logics (Zeilberger 2008), and dependently-typed logics as in Section 6.2 (Krishnaswami et al 2015).…”
Section: The Qram Modelmentioning
confidence: 99%
“…The linear use of computation variables is also reminiscent of recent work on combining dependent and linear types in languages with distinguished intuitionistic and linear fragments [19,38]. That work is designed to capture the adjunction models of intuitionistic linear logic [3]; in contrast, our language is designed to capture the computational nature of certain adjunctions.…”
Section: A Dependently-typed E↵ectful Languagementioning
confidence: 99%
“…Uniqueness types are similar to linear types [24], except variables must be referenced at most once, rather than exactly once. The interaction of dependent and linear types, while possible [15], is difficult, since we need to establish whether a use is in a type or a value. Nevertheless, recent work by McBride [18] has successfully combined linear and dependent types in an elegant fashion, enabling reasoning about the usage of variables.…”
Section: Related Workmentioning
confidence: 99%