無名サービス
πを返す 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")))
と書くと、$(...)が特別扱いされて、無名CGIが設置される。これはようするに、名づけるのをHopに任せるだけ。勝手に名前を"4-57604278"とでも付けて設置してくれる。
コンパイルされると、
:onclick ~(with-hop ($4-57604278) (lambda (h) (alert h)))
とでもなるんだろう。