理情の人に遭遇した

書籍部で再会した教養学部時代の友人は今や理情の人。Pythonインタープリタを、レジスタ型のVM*1を使って構成できたらかっこよくね?と思ってた私は、ここぞとばかりに色々教えてもらってきた。
結論から言うと、今学期の私じゃまだ無理そう。レジスタ型にするんだから当然Pythonコードをアセンブリ言語レベルの命令にまで落とすことが必要だし(この時点で不安)、また数に制限のあるレジスタに何を載せていつメモリに戻すと効率がよいか、最適化をする必要もある。この辺の理論はコンパイラの構成と最適化(中田育男)に載っているらしい。
興味はあるけど、いかんせんコンパイラに加えてVMまで、そのうえ完成度高く作るような余裕はないと思うし、そもそもコンパイラではなくインタープリタを作れという課題だったりするわけで、この案は廃案。
まあ、τ先生のことだから、インタプリタの代わりにコンパイラを作っても問題なく認めてくれるとは思ってるけどね。作れたらね。


話は変わるが、理情の人と関数型言語の話になったときに The Little Schemer (MIT Press) を激しく推奨された。はやみずさんもおすすめしてたし、これはもう読むしかなくね?

*1:Perl6のVMであるParrotがこういう仕様で作られており、スタック型のVMよりも速度が出るらしい