コードを2次元で書く「空間言語」——3項演算子と量子回路の意外な接点
Spatial languages: Writing code in 2D

式は必ずしも左から右に読む必要はないのでは?という発想から、コードを2次元に配置する「空間言語」のアイデアを探る。3入力のandFlip演算子を縦に並べてチェーンする構文を考案し、量子コンピューティングのCCCXゲートや借用ancillaのリセット問題が、この2次元表現でエレガントに解けることを示す。さらに、maj演算子とuma演算子を定義して3ビット加算器を1つの2次元式で表現。Befunge、Orca、Racketの#2dcond、Hexagony、ラダー言語など既存の空間言語も紹介し、思考と言語の関係(サピア=ウォーフ仮説)にも言及する。
この単一の2次元式は、t1をnにリセットしつつ、t2に対して正しい結果を生成する。