>>132
横からすまんけど、 131 の例なら

(setq expr '(for (init (i 0) (j 0)) (cond (< j 10)) (update (++ i) (++ j)) (block (call a)))

初期化部: (assoc 'init (cdr expr)) => (init (i 0) (j 0))
条件部: (assoc 'cond (cdr expr)) => (cond (< j 10))
更新部: (assoc 'update (cdr expr)) => (update (++ i) (++ j))
...

のように一発でアクセスできるじゃん。その C 式とやらはどんな表記でメリットは何なの?