Quantum programming language LanQ

Investor logo
Investor logo

Warning

This publication doesn't include Institute of Computer Science. It includes Faculty of Informatics. Official publication website can be found on muni.cz.
Authors

MLNAŘÍK Hynek

Year of publication 2007
MU Faculty or unit

Faculty of Informatics

Citation
Description We define a typed imperative quantum programming language LanQ that allows programmers to implement any algorithm that is based on either one, or a combination of classical or quantum computation. The language syntax is similar to that of C language and forces programmers to structure their programs into smaller pieces of code (methods, blocks) what makes the program better readable and maintainable compared to programs in unstructured languages. It allows programmers to assign a quantum system to several variables in such a way that all quantum principles, namely no-cloning and no-deleting, are obeyed. The language also offers process algebraic features such as creation a new process (this is done by forking a new process from a running one) and interprocess communication. It therefore supports implementation of multiparty protocols. The resources sent over a channel are handled so that they are always owned by at most one process at one time. In the thesis, we formally describe the language syntax, its type system, memory model used and operational semantics. We also prove type soundness property for the noncommunicating part of the language and for the full language provided the programs are guaranteed to use only a well-formed communication.. We show an example run of a random number generator implemented in the language and provide a reference manual to the implementation of LanQ simulator which is publicly available at http://lanq.sf.net/.
Related projects:

You are running an old browser version. We recommend updating your browser to its latest version.

More info