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 ... のラッパーである。