8cc.unl

Unlambdaで動くCコンパイラができました。

https://github.com/irori/8cc.unl

id:shinichiro_hさんのbflispで使われている改造版8ccアセンブリ出力からUnlambdaへのトランスレータです。

これで同一のCプログラムをBrainfuckとUnlambdaの両方で動かせます。便利!

ただBrainfuckと比べてもかなり重くて、8ccのセルフコンパイルをすると10GB以上のメモリを消費して37時間かかりました。整数の表現が真偽値24個のリスト(もちろん真偽値もリストも関数で表現される)で結構でかいので、メモリを大量に使うプログラムだと厳しいようです。別の整数表現も試してみたんですが遅かったので断念しました…。

Lazy K でも同じようにやればできると思います。気が向いたらそのうち。