  We introduce dependently typed Proto-Quipper, or Proto-Quipper-D for short,
an experimental quantum circuit programming language with linear dependent
types. We give several examples to illustrate how linear dependent types can
help in the construction of correct quantum circuits. Specifically, we show how
dependent types enable programming families of circuits, and how dependent
types solve the problem of type-safe uncomputation of garbage qubits. We also
discuss other language features along the way.
