タグ

picricに関するh6nのブックマーク (1)

  • CPS変換したかったのでCPS変換するSchemeインタプリタ作った - IT系で覚醒めたい

    https://github.com/wasabiz/Picric 昨日ツイッターでマクロについていろんな人に教えて頂いて心の中のもやもやがすっきりしたのでCPS変換してみました。 ・見ればわかりますが実装はCでやってます。全部Cです。 ・可読性重視で組んだので効率悪いところがちらほらあります。 ・でもその分読みやすいと思います。 ・Schemeのサブセットのつもりで組んでましたが気づいたらif文がTとNILで条件づけるようになってました。僕のせいじゃありません。 ・処理の流れとしてはパース->マクロ展開->正規化->CPS変換->最適化(ベータ簡約)->evalです ・とはいいつつマクロとノーマライゼーションと最適化は未実装です。 ・でもCPS変換器が受け付けるのは正規化済みのコードだけです。 ・なので実行するまえに人間の手で正規化してあげてください。 ・e.x., (define (d

  • 1