エレファント・ビジュアライザー調査記録

ビジュアルプログラミングで数式の変形を表すことを考えていくブロクです。

クロージャーの調査(4)

今後の予定

前回の「クロージャーの調査」では「プログラム電卓(Blockly)へのクロージャーの導入」をやろうとしていたのですが、この件はいったん保留します。

『Rustで作るプログラミング言語 —— コンパイラ/インタプリタの基礎からプログラミング言語の新潮流まで』という本を見ると、Rust でパーサコンビネータを使っています。「関数プログラミングと無限論理多項式」では C#、F#、TypeScript、Python、Go などについて調べていましたが、Rust については(少し調べたとは思いますが)まだ何もやっていなかったようです。Rust についてはまだよくわかりません。他のものを探してみると C# のパーサコンビネータ Sprache (Sprache/README.md at develop · sprache/Sprache · GitHub)というものがあったのでこれを使ってみます。F# のパーサコンビネータを調べていたことはあったのですが、F# を使うのは難しそうなので使ってはいませんでした。

「クロージャーの調査(2) - エレファント・ビジュアライザー調査記録」では

について説明していました。言語3はまだ実装していません。言語2をパーサコンビネータで書き直して、それを改造して言語3を実装することを考えます。

「中間報告(19) - エレファント・ビジュアライザー調査記録」では以下のものに Python、TypeScript を使うと書きましたが、まず C# で書いてみることにします。

JavaScript で書いた Prolog 処理系を公開しているので、論理プログラミング言語の調査と同時にその説明を書きたいと思っていたのですが、これは後回しにします。

言語2をパーサコンビネータで書き直したのですが、まだどこか間違っていて動かないので、まずは「自由モノイドのイテレーター」で扱ったプログラムが書けるようにしていきたいと思います。

ウィンストンのSMALLTALK: ON TO SMALLTALK (HigherEducationComputerSeries 35)

ウィンストンのSMALLTALK: ON TO SMALLTALK (HigherEducationComputerSeries 35)

Amazon