Nixの遅延評価でスーパーマリオを動かす:属性パスがボタン入力に
Super Mario Derivations

Nix言語の遅延評価を利用し、属性パスをスーパーマリオブラザーズ3のボタン入力列として解釈する実験。各ボタン押下が個別のderivationとなり、前のフレームのセーブステートを入力として次のフレームを生成。これにより、ストアがエミュレータのセーブステート履歴となり、分岐や追記が効率的に行える。さらに、属性パスの評価は線形時間で、最大約2万回の入力まで可能。このアイデアは、属性パスが単なる名前ではなくプログラムであることを示す。
属性パスは、評価者が歩きながら必要なものを生成していくプログラムなのだ。