まつもとゆきひろ 言語のしくみ

本日読了。

実際に新しい言語を開発しつつ、言語デザインについて解説するという、文字通り類を見ない本。
コンパイラは、字句解析、構文解析、コード生成、最適化からなる。字句解析にはlexを、構文解析にはyacc(bison)を使う。電卓プログラムのような簡単なものでも、これらは使える。
まつもとゆきひろの新しい言語は、Streemというパイプライン処理ができる言語。左から右への代入ができるなど、パイプライン的な表現にこだわった。意味的にはStreamだが、グーグラビリティを高めるためにStreemとした。関数型言語の影響を受け、データ構造はイミュータブル(更新不能)。ただし、ステートを保存するために組み込みkvsはつけた。データ解析やWebプログラムに適合しやすいと想定。
言語設計のコツ。1)既存の言語および、その課題と解決策を調べる。2)独自性の追求はここぞというところに限定する。3)客観的な視点で、意見はあくまでも意見として聞き、最終的な責任は一人でとる。