日付が変わって apply
Rest と固定引数の組み合わせが邪魔だなぁ。かと言ってどっちも省きたくないし。
とりあえず、引数の組合せとそれを使うのが自然な関数をまとめてみた。
- car(1), eq?(2), eval(2), quote(1), quasiquote(1), define(2), unquote(1), quotient(2), force(1), abs(1), scheme-report-environment(1), set-car!(2), set-cdr!(2) symbol->string(1), most I/O procedures, ...
env - set!(2)
eval_state - 無し?
rest - map(2), values(0), if(2), number->string(1), string->number(1), list(0), member(2), assoc(2), append(0 or 1), logand(1), string-append(0 or 1), read(0), ...
rest env - lambda(1), delay(1)
rest eval_state - do(2), apply(2), begin(0), cond(0), and(0), or(0), case(1 or 2), let(1 or 2), ...
むっちゃくちゃ偏ってるよ…
これを見ると、
rest rest env_or_eval_state
おお、12 種類に収まった。これならいけるぞ! ヤマケンさんのおかげだ。