#contents * ぜひ読むべし [#f4374a5d] -[[境界を越える: 継続とWeb開発、そしてJavaプログラミング:https://www-06.ibm.com/jp/developerworks/java/060412/j_j-cb03216.shtml]] -[[Programming Languages: Application and Interpretation by Shriram Krishnamurthi:http://www.cs.brown.edu/~sk/Publications/Books/ProgLangs/]] -- Schemeを軸に、現在の関数型言語を取り巻くトピックをまとめています。遅延評価、型理論、論理プログラミング、継続サーバなど。SICPの正統後継者登場。 - [[入門OCaml:http://book.mycom.co.jp/book/978-4-8399-2311-2/978-4-8399-2311-2.shtml]]第7章"OCamlで作ってみよう 〜MySQLと連係したバグトラックシステム〜" * Haskell [#y109f347] ** HAppS -- Haskell Application Server v 0.8.8 [#a00898c0] - http://happs.org/ ** WASH [#xadbdcf5] - http://www.informatik.uni-freiburg.de/~thiemann/WASH/ - 下村さんが試しました。 * OCaml [#g8c1d3ae] ** [[Ocsigen:http://www.ocsigen.org/]] OCamlによる継続ベースWeb開発フレームワーク [#ud483357] - 今井さんが試しています。 - [[論文 Typing web interaction with Objective Caml:http://www.pps.jussieu.fr/~balat/publications/2006mlworkshop-balat-ocsigen.pdf]] - 特徴 -- 継続ベースWebプログラミング -- XHTMLの静的チェック -- セッションの自動管理 -- モジュール指向 -- HTTPサーバの実装には協調スレッドを利用。 -- カウンタはこう書けます。 let compt = let next = let c = ref 0 in (fun () -> c := !c + 1; !c) in register_new_service ~url:["compt"] ~get_params:unit (fun _ () () -> return (html (head (title (pcdata "counter")) []) (body [p [pcdata (string_of_int (next ()))]]))) -- See this example [[here:http://www.ocsigen.org/tuto/compt]] - サンプル(いつか消す): http://tsukimi.agusa.i.is.nagoya-u.ac.jp:18080/eliomsample/ -- [[けいご]] &new{2007-07-12 (木) 08:34:01}; - サンプル(いつか消す): http://tsukimi.agusa.i.is.nagoya-u.ac.jp:18080/eliomsample/ -- [[けいご]] &new{2007-07-12 (木) 08:48:01}; #comment * Scheme [#df260efd] ** 継続サーバ [#z633f1a1] -[[もとネタになった、Queinnec氏の論文PDF:http://www-spi.lip6.fr/~queinnec/PDF/webcont.pdf]] -[[Implementation and Use of the PLT Scheme Web Server:http://www.cs.brown.edu/~sk/Publications/Papers/Published/khmgpf-impl-use-plt-web-server-journal/]] PLT-Scheme製の継続サーバ。Schemeではこれが最先端と思われる。 - 源馬が類似のものをGaucheとFastCGIで作りました。 http://d.hatena.ne.jp/Gemma/20070707 -[[Kahua:http://www.kahua.org/]] CPSスタイルの継続サーバ。日本人開発のScheme処理系であるGaucheを使用。 *Smalltalk [#s9170dc3] -[[Seaside:http://www.seaside.st/]] 継続サーバの実装の最先端。デバッグ環境の充実は他の追随を許していない。 -[[Seasideの開発者のblog:http://www.avibryant.com/2006/05/ongoing-continu.html]] が継続のゆくえについて語る *Ruby [#dfc75ee3] - RoR *Java [#d67f5450] - Cocoon2がすごいらしい * 継続について [#i188a441] - [[継続]] - [[WebBasedアプリケーションと継続について、わかりやすい説明:http://www.shiro.dreamhost.com/scheme/wiliki/wiliki.cgi?Scheme%3aCPS]] - JavaのCocoon2は、継続付きの特別なJavascript、Rhinoを使っているそうです。サーバサイドJavascript流行の兆しあり。