Arc のコードを眺める

id:amachangScheme の勉強のために 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 いいね。


何というか抵抗なく移行できそうだな。(もし流行れば)。