Benoît Valiron

Learn More
In this paper, we develop a functional programming language for quantum computers, by extending the simply-typed lambda calculus with quantum types and operations. The design of this language adheres to the “quantum data, classical control” paradigm, following the first author’s work on quantum flow-charts. We define a call-by-value operational semantics,(More)
The field of quantum algorithms is vibrant. Still, there is currently a lack of programming languages for describing quantum computation on a practical scale, i.e., not just at the level of toy problems. We address this issue by introducing Quipper, a scalable, expressive, functional, higher-order quantum programming language. Quipper has been used to(More)
Quipper is a recently developed programming language for expressing quantum computations. This paper gives a brief tutorial introduction to the language, through a demonstration of how to make use of some of its key features. We illustrate many of Quipper’s language features by developing a few well known examples of Quantum computation, including quantum(More)
Finding a denotational semantics for higher order quantum computation is a long-standing problem in the semantics of quantum programming languages. Most past approaches to this problem fell short in one way or another, either limiting the language to an unusably small finitary fragment, or giving up important features of quantum physics such as(More)
The objective of this paper is to develop a functional programming language for quantum computers. We develop a lambda-calculus for the QRAM model, following the work of P. Selinger (2003) on quantum flow-charts. We define a call-by-value operational semantics, and we develop a type system using affine intuitionistic linear logic. The main result of this(More)
We study multitoken interaction machines in the context of a very expressive linear logical system with exponentials, fix points and synchronization. The advantage of such machines is to provide models in the style of the Geometry of Interaction, i.e., An interactive semantics which is close to low-level implementation. On the one hand, we prove that(More)