2006-01-07から1日間の記事一覧

ひとまず完了

今後の課題 (人任せ): POP() を SHIFT_ARG() のように代入先を引数に取るようにしたほうがいい。今の semantics は元々loop の step 部に書きやすそうだったから選んだだけで (大失敗だったけど)、もはや存在価値は皆無。でもないけどね、ほんの一部で記述が…

面白くない部分には集中力無し

SICP 読んでた。さっさと終わらせねば。

ところで

めも: #define CIRCULAR_LIST INT_MIN は compaction が入ると要修正。

Parameter を破壊しない FOR_EACH

こんなしますた。 FOR_EACH_PAIR (tmp, args) { do_something (CAR (tmp)); }FOR_EACH_PAIR / PAIR_FOR_EACH / FOR_EACH_SUBLS でちょっと悩んだ

if (test = EVAL(test, env), NFALSEP(test)) { #if SCM_STRICT_ARGCHECK POP_ARG(rest); ASSERT_NO_MORE_ARG(rest); #endif return conseq; } else {SCM_INVALID を返さないようにすると動かなくなります。POP と UNSAFE_POP に分けるか、SAFE_POP と POP …

ASSERT の類義語

Thesaurus 引いてみた。Plausibility 順に attest avow aver あたりか。全部 a で始まるし見分けつきにくそう。というか、assert の forcefulness が表現されてないような。参考 元来の「invariant を宣言する」という性質から脱却して "safety check" に着…

理解不可

- (LISTLEN_ENCODE_DOT): Revert r2802 - (scm_length): * Return -1 for non-list, as zero length improper list, as originally intended * Fix the bug fixed in r2802, but as originally intended わざわざ LISTLEN_ENCODE_DOT(len + 1) とする意味が…