バグ修正 when/unless
leque さんによるありがたいバグ指摘があったのでどんどん直すよ。
when/unless without body does not raise exception.
compiler.scm で match を使って以下のようにしました。
[(when) (match sexp [('when pred body . more) (pass1/expand `(cond (,pred ,body ,@more)))] [else (syntax-error "malformed when")])] [(unless) (match sexp [('unless pred body . more) (pass1/expand `(cond ((not ,pred) ,body ,@more)))] [else (syntax-error "malformed unless")])]