Quantum Computing

High-level Languages for Programming Quantum Computers

INSAIT is a main contributor to the Silq quantum programming language, originally introduced at ETH Zürich.  The main thesis of Silq is that quantum programs can, for the most of their part, be built similarly to classical programs.  Towards that end, Silq aims to relieve the programmer from low-level details peculiar to quantum and reversible programming.  The language features a rich type system that eliminates large classes of errors in classical and quantum programs.  It moreover has an ergonomic syntax that allows quantum algorithms to be expressed intuitively and concisely.

 

Faculty & researchers involved in this area:

Compiling Quantum Programming Languages

Compilation of high-level quantum programming languages (as well as languages for reversible programming) requires program transformations that do not occur classically.  The two main examples are adjoint synthesis and uncomputation synthesis.  How easy it is to implement such transformations depends on the structure of the language.  We have introduced an intermediate representation (IR) specifically designed to make the implementation of such transformations.  The IR has been implemented as part of our compiler infrastructure for the Silq programming language.  The infrastructure features a compiler back-end, not specific to Silq, that synthesises adjoints and uncomputation, and lowers the IR to quantum circuits.  Moreover, we have developed a lowering step from Silq to the IR as part of Silq’s front-end.  This allowed for the first time the compilation of a substantial fragment of Silq.

Faculty & researchers involved in this area: