
A tutorial introduction to quantum circuit programming in dependently typed ProtoQuipper
We introduce dependently typed ProtoQuipper, or ProtoQuipperD for sho...
read it

A graded dependent type system with a usageaware semantics (extended version)
Graded Type Theory provides a mechanism to track and reason about resour...
read it

Dependent Type Systems as Macros
We present Turnstile+, a highlevel, macrosbased metaDSL for building d...
read it

A categorical model for a quantum circuit description language
Quipper is a practical programming language for describing families of q...
read it

Quantum Programming with Inductive Datatypes: Causality and Affine Type Theory
Inductive datatypes in programming languages allow users to define usefu...
read it

How to Bake Quantum into Your Pet Petri Nets and Have Your Net Theory Too
Petri nets have found widespread use among many application domains, not...
read it

Opportunities and Challenges for Circuit Board Level Hardware Description Languages
Boardlevel hardware description languages (HDLs) are one approach to in...
read it
Linear Dependent Type Theory for Quantum Programming Languages
Modern quantum programming languages integrate quantum resources and classical control. They must, on the one hand, be linearly typed to reflect the nocloning property of quantum resources. On the other hand, highlevel and practical languages should also support quantum circuits as firstclass citizens, as well as families of circuits that are indexed by some classical parameters. Quantum programming languages thus need linear dependent type theory. This paper defines a general semantic structure for such a type theory via certain fibrations of monoidal categories. The categorical model of the quantum circuit description language ProtoQuipperM by Rios and Selinger (2017) constitutes an example of such a fibration, which means that the language can readily be integrated with dependent types. We then devise both a general linear dependent type system and a dependently typed extension of ProtoQuipperM, and provide them with operational semantics as well as a prototype implementation.
READ FULL TEXT
Comments
There are no comments yet.