2022-05-20: ICI で Quine を書いた
やったこと
ICI
ICI というプログラミング言語がある。
90年代のスクリプト言語で、C言語系の構文とちょっとしたオブジェクト指向などがある。
Canon の研究所とかで開発されていて、Canon のグラフィックス言語で使われていたらしい。
調べたけどあまりよく分からなかった。
SourceForge にあるコードが簡単にビルドできなかったので、GitHub にあった Modified version の方をビルドした。
C++ になってたり、結構変わってそうなので、可能ならオリジナルを動かしたかった。
同じ作者の dcc
というビルドツールがないとビルドできないので注意。
あとビルド結果のバイナリが動的ライブラリのリンクがなんかおかしいので、適当に LD_LIBRARY_PATH=.
をつけて実行した。
Quine は適当に printf
。
[array ...]
という構文が面白い。
[func ...]
で匿名関数が作れたり、[set ...]
とか [class ...]
とかもある。
あと scope
で現在の環境の struct
が取れる。parse
は eval
。