Chapter 07

おわりに

Koji Saito
Koji Saito
2023.06.15に更新

  Zenn では本が書けるそうである、ならば試しに作ってみるか - そんなきっかけで執筆を始めたのがこの本です。簡単にざっと書けるだろうと思っていたら意外に多くの時間を費やしてしまいました。そもそもそんな風に思ったのは、以前 Lua を用いて同様の文章を書いた経験があったからです。

https://qiita.com/iigura/items/855954ad000fe1da6c59
https://qiita.com/iigura/items/a9b0fff73f7f9639ca3c

しかしまあ書き始めてみると、Forth の仕組みについても説明する状況となってしまい、ほぼ書き下ろしという状態になってしまいました。どうせ書くのであれば…と、私自身が理解にするのに苦労した部分については、少々丁寧に書くように心がけてみました。分かりやすい Forth のシステムについての解説書になっていれb幸いです。これはある意味、Forth を知った高校生の頃の自分に対する、未来からの手引のようなものを私は書いているのかもしれません。

  久しぶりに Forth に関する文書を書いてみて、気づいたこともありました。それは、Forth の処理系には少なくとも辞書が必要であり、その辞書にはワード lit が含まれていなければならないということです。つまり、Forth := 内部インタプリタ+外部インタプリタ+REPL ではなく、その右辺に「+lit を含んだ辞書」を加えた、

Forth := 内部インタプリタ+外部インタプリタ+REPL+lit を含んだ辞書

であったということが認識できました。Forth に詳しい方からすれば、何を今更…という感じでしょうが、私にとっては新鮮な発見となりました。

  tinyPyForth では、できるだけ本質的な部分のみを説明するため、ユーザーの入力ミスによるエラーについては全く考慮していない状況です。よって、簡単にクラッシュします。興味のある人は拙作の tinyPyForth を拡張して、よりプログラミング処理系としてまともな Forth 処理系を実装することをおすすめします。

  Forth をもっと知りたい!と思われた方にはレオ・ブロディー(Leo Brodie)が記した "Starting Forth" をご一読されるのをお勧めします。これは Forth, Inc. のサイトで公開されており、PDF 版もダウンロードできます。

https://www.forth.com/starting-forth/

  "Starting Forth" は英語版でしたが、同じ作者による "Thinking Forth" は日本語訳が公開されています。Forth の哲学とでも言うような思想について記されている本ですので、興味のある人は一度目を通しておくと良いでしょう。

https://thinking-forth-ja.readthedocs.io/ja/latest/index.html

  100 行の Python プログラムで作る Forth はいかがだったでしょうか。この本を手に取られたかたの多くは Python を使われている、もしくは Python でのプログラミングに興味のある方ではないかと思います。そこで、少しだけ Forth とは関係のない Python に関わる話題を記しておきます。

  この本の表紙は Python で描いたものです。厳密には表紙の地の部分の模様についてですが。これは Processing というアプリケーション(言語?)の Python モードを使ったものです。ソースコードについては、以下の Tweet を参照して下さい。なお、 #つぶやきProcessing というハッシュタグが付いていますが、これは Processing のプログラムを 1 ツィートに収め、そのプログラムにより生成される画像や映像と共にツィートするという作品発表形態というか、Twitter 上の遊びです(発案者は @Hau_kun さんです)。日本のみならず、今や様々な国の人々が参加している状況ですので、興味を持たれたら是非ともハッシュタグ #つぶやきProcessing で検索してみて下さい。驚くような作品が、世界中の人々により発表されている様子が確認できます。

 最後になりましたが、間違いなどありましたら @KojiSaito までご連絡いただければ幸いです。Web 版の書籍(?)の利点として、更新が簡単にできる(んですよね? Zenn って)ので、随時ブラッシュアップできれば…と思っています。とはいうものの、Forth もマイナーだし、そもそもこの文章もそんなに多くの人が読むのかなぁ…という思いもありますが、念のためここに記しておきます。

初夏の風が爽やかな某所より。
written by @KojiSaito