2006-12-07から1日間の記事一覧

従って、関数単位の、極小のCGIの群を作りやすい。

関数単位のCGIから、Ajaxでちびちび結果を受けとって、組み合わせるというスタイルが可能。 HTTPサーバの機能はApacheに任せて、他の、CGI+Ajax+DHTMLの自動化の部分は切り離せないだろうか?

無名サービス

πを返す CGI を、 (define-service (pi) (* 4 (atan 1)))などと設置したり。 だが、無名関数がSchemeにあることから連想して、無名CGIを考えてみよう。 それが $ 記法で、 (<HTML> (<BODY> (<BUTTON> :onclick ~(alert $(* 4 (atan 1))) "Click me to see an approximation of PI</button></body></html>…

Hopを使うと、この作業を自動化できる。

(define-service (server-date) (current-date)) (<HTML> (<BUTTON> :onclick ~(with-hop ($server-date) (lambda (h) (alert h))) "Server time"))と書いてやると、 Hop はそれ自体がHTTPサーバ。 define-service で、自動で CGI を設置してくれる。 HTMLは、タグをS式で</button></html>…

普通のやりかた

私たちの手元にあるのは、HTTPサーバと、CGIと、Javascriptと、Ajaxだ。 HTTPサーバを立てる。 CGIを Bigloo (Scheme処理系) で書いて設置。例えばURLは、http://hoge.com/serverdate.cgi HTMLを書く。Ajax なら、 prototype.js を使おう。こんな感じ。 <html> <head> <script src="prototype.js" type="text/javascript"></script> <script type="text/javascript"></head></html>

Hop の仕組み

Hop, a Language for Programming the Web 2.0をわかりやすく説明しようと思う。サーバ側の現在時刻を、Ajaxで受け取って、動的に表示するHTMLを書くことを考える。