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式で書ける。~(...) は特別扱いされ、Scheme2js で Javascript にコンパイルされる。alert は javascript の関数だ。lambda(h) は function (h) になる。
- with-hop は、new Ajax.Request ... のラッパーである。