拡張モジュールの作り方を説明しようと思います。
gaucheの拡張モジュールの作り方を調べていてわかったことなどをまとめようと思います。
まとめようと思った理由は、ネット上で見つかる拡張モジュールの作成のためのドキュメントが難しいという印象を受けたからでした。
正直なところ、リンク先の記事の内容は、難しくて理解し辛いです。
多くの概念や情報が一気にやってくるので、相当気力が充分にあるときでなければ、自分の脳の帯域的な意味で読み切るのが辛いです。
また、その他の拡張モジュールについて記事などは、利用法のみを説明する入門的な内容か、専門的な内容を含んだ断片的な情報が多いです。
ちょうど"中級者"に位置するような人を想定した情報が存在しないのです。
この層についての情報を補間するということも拡張モジュールの作り方を説明しようと思った目的のひとつです。
層の分類について
ちなみに、ここで言う"中級者"は以下のような分類の中での位置づけです。
初級者 | scheme入門中。プログラミングGaucheあるいはScheme関係の入門記事を見ている |
中級者 | schemeの文法は分かる。提供されているライブラリを使うことはできる。…でもそこから先は… |
上級者 | 処理系のソースコードを読んで理解できる。必要なら深くまで潜ってバグを修正することができる |
ちなみに、この分類と評価のベクトルが違いますが「SICP,RnRs..を完璧に理解する!!継続って…」というような「求道者」的な立ち位置の人もいたりしますね。
つまるところ、すでに存在する資産を利用することはできるが、自身の手で資産を新たに作り出すことができない人*1のための情報を提供していきたいということです。
*1:自分自身も含めて