量子プログラミング言語
QCL(英語版)(Quantum Computation Language)は最初に実装された量子プログラミング言語である。Quantum Computation Languageの構文はC言語の構文に似たものであり、Quantum computing languageの「classical data type」はC言語のプリミティブデータ型と似ていた。ひとつの同じプログラムのなかで古典的(量子プログラミング以前の)コードと量子プログラミングのコードを組み合わせることが可能である。
Quantum computing languageで用意された量子データ型はqureg (quantum register)と呼ばれるものである。これはキュービット(qubit, quantum bit, 量子ビット)の配列として解釈することができる。
Quantum computing languageのインタプリタはqlib simulation libraryを採用しているため、量子プログラムの実行中に量子マシンの内部状態を観察することが可能である。
dump operationはmeasurementとは異なることに注意。
Quantum lambda calculiは古典的なラムダ計算の拡張である。古典的なラムダ計算はen:Alonzo Churchとen:Stephen Cole Kleeneによって1930年代に考案された。Quantum lambda calculiの目的は量子プログラミング言語を高階関数の理論で拡張することである。
Quantum lambda calculiを定義する最初の試みは1996年のPhilip Mayminによるものである。Mayminによるlambda-q calculusはあらゆる量子計算を表すことができるほど強力であった。しかし、MayminのQuantum lambda calculiはNP完全の問題を効率的に解くことができ、それゆえに厳密に標準量子計算モデル(en:quantum Turing machineモデルやen:quantum circuitモデルなど)よりも強力であるように見えた。ゆえに、Mayminのlambda-q calculusは物理的デバイスには実装不可能な可能性がある。
2003年に、André van Tonderは量子プログラムの正当性を証明するのに適しているラムダ計算の拡張を定義した。また、van TonderはScheme言語における実装を提供した。。
2004年にはSelingerとValironが線形論理を基にしたtype systemを用いて強い型付けの量子計算用lambda calculusを定義した。