gemma:継続CGIgemma:継続CGIgemma:継続CGI通常、CGIはリクエストーレスポンスごとに終了してしまうため、継続を保存しておくことができません。fastCGIを使えば話は別です。fastCGIは、リクエスト-レスポンスごとに終了せず、そのまま常駐して、次のリクエストを待ちます。リクエストのたびにかかっていたインタプリタの起動やプログラムのロードの時間を省くことで、高速なCGI動作を実現しています。このfastcgiの特徴を活かすことで、gemma:継続サーバをよりエレガントに実装できました。なんの変哲もないHTML。サンプルプログラムにリンクを張っただけ。インストール方法fastcgiを使えるようにHTTPサーバの設定をする。Gauche-fastcgiをインストールする。www.contcgi)で使えるようにインストールする。起動すると、見慣れたscanf,printfのような動作をするようになっています。デバッグに使ってください。Fuyuki氏の、Gauche-fastcgi&lt;http://d.tir.jp/pw?Gauche-fastcgi&gt;のコードが参考になりました。ありがとうございます。;;www.fastcgiモジュールでexportされていない関数で、必要なものがいくつかあるから、取り出す。fcgx-finish));;継続サーバの肝である継続を保存するハッシュテーブル。#f);;デバッグフラグ。showの動作が変わる。;;端末からの実行の場合、debugフラグをセットする。;;CGIにあたえられたパラメータをhtml:tableの一覧にして表示。debug時には標準出力へのwrite-treeと標準入力からのread-lineになる。;;保存している継続の番号をカウントする。;;ここで大域脱出returnで返したものが、CGIの出力結果になる。;;大域脱出用にreturnをセット。;;foo.fcgi?cont-count=1などなら、継続を呼び出す。;;foo.fcgiなら、メインロジックであるprocを呼び出す。