Arc のコードを眺める
id:amachang が Scheme の勉強のために Arc のコードを読んでいて感心したので真似をする。
良く考えれば Lisp のプロが書いた Scheme のコードが読めるのだから良いチャンスだよね。
実際に Arc が実行されるのは arc.scm の arc-eval。
Arc のコード(S式)をSchemeのコード(S式)に変換して eval している。これが分かれば後の処理は大体追えると思う。
(define (arc-eval expr) (eval (ac expr '()) (interaction-environment)))
本質的な感想ではないですが、眺めた感想をいくつか。
(deftem post id nil title nil text nil)
deftem って響きがかわいい。
prn ってかわいい、脳内でプリンと展開される。
def って打ちやすいよな。
mac はマクロだけど、ちがう Mac が頭に浮かんでしまう。
(= (car x) 'z) は頭がまだ慣れない。
(aif (post (arg req "id"))、aif いいね。
何というか抵抗なく移行できそうだな。(もし流行れば)。