プラグインの仕組みを作る - Scheme VM を書く

新規ページ作成をさくっと実装し、プラグインの仕組みを作る。

プラグインの記法は 行頭#plugin-name で PukiWiki ライクに。
いくつかプラグインを書いてみないと、どういう仕様が良いのか分からないので ls, pcomment, topicpath プラグインを書きながら仕組みをつくる。

こんなのはどうだろうか。

(define-plugin name inline-proc url-proc) ; プラグインを定義する

(register-plugin plugin); プラグインを登録

inline-proc はプラグインがページ内に展開されるときに呼び出される手続き。
(lambda (page-name . args) ...) の形式。
args は #comment(hoge,hige) のようにプラグインの引数があれば渡される。


url-proc は cmd=plugin で post/get されたときに呼ばれる手続き。

現段階ではこれだけで十分実装できているけど、必要になったら context オブジェクトでも引数に追加すれば良いか。

VM的進捗

  • R6RS の file options の調査(実装は後で)
  • file-exists? のサポート
  • let1 のサポート
  • open-output-string のサポート
  • call-with-string-io のサポート

プラグインの ToDo