継続サーバを勉強中
Christian Queinnec の The Influence of Browsers on Evaluators or,. Continuations to Program Web Servers
http://www-spi.lip6.fr/~queinnec/PDF/webcont.pdf
を読みなおし中。
半年前に読んだけど、あれから自分の中で、限定継続、CPS、Hop、Haskell、Ajax で理解が進んだので、視点を改めつつ。
継続サーバは、
x = scanf y = scanf printf %d, x+y
ぽく HTMLのページ遷移を記述できますっていう話。
Kahua の"部分継続の使いどころはどこですか"スレッドの、SHIBATA Tomohisa 氏の発言から抜粋。
http://www.kahua.org/mlarchive/kahua-dev/msg01026.html
(define-entry (sum) (main-page (h1: "sum is") (number->string (+ (read-input "first number") (read-input "second number"))))) と書くだけで,3ページ遷移のインタラクティブ足し算が簡単に 作れるんですね.
意識をページ遷移よりも、計算遷移に注げる。
このスレッドの Shiro Kawai 氏の発言から抜粋
http://www.kahua.org/mlarchive/kahua-dev/msg01099.html
> 「処理の途中に発生するユーザ入力を部分継続で楽に書けるかも?」に続いて, > 今回は「ページの一部分を変更するのを楽に書けるかも?」についてです. まさにそれが、Kahua開発当初からの目論見であったのです。しかし、 単純な部分継続ではどうもうまくいかないようなのです: [kahua-dev:00826] [kahua-dev:00834] [kahua-dev:00835] 目下の問題は、「継続補足をする部品が複数ある場合」への対応です。 --shiro
Kahuaの開発はそういうところから始まったらしい。
普通で考えたら、"ページの一部分" を Ajax で小刻みにもらうのかなぁ。