2006-01-01から1ヶ月間の記事一覧

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) とする意味が…

どんどん整理が進む

YamakenZ の日記より >いじってて気付いたけど、引数リストのpropernessを各proc/syntaxでチェックするのは結構面倒。eval.cで処理するように変えてみます。 ついでに POP_ARG() を phase out します。変更は簡単そうなので、作業はすぐ始めますが、異義があ…

煮詰まったので anthy/doc を翻訳。多分そのうち anthy-dev にも投げるけど、とりあえずここにメモ。現在 GLOSSARY を編集中。mv GRAMMER GRAMMAR conjugate Conjugation/conjugate というのは活用形を集合的に、あるいは分類手法の一つとして捉えたもので、…

再編

eval.c とかが分割されて凄く modular で弄りやすい構成に変身。GJ ;; でも env.c は eval.c でもよかったような気も。

syntax-rules

ああ、またダメだ…今度こそ大丈夫だと思ってたのに… ありえんこの dark corner の多さ! そして束縛。変数束縛 form を認識する事無く hygene を確保することなんか可能なのか?追記: ん? いや大丈夫か…もう一つ太る要素を盛りこめばな!

compaction 下での GC

ふと思い付いて見てみたら大当たり。 static int within_heapp(ScmObj obj) { ScmCell *heap, *ptr; int i; if (!SCM_CANBE_MARKED(obj)) return 0; /* The pointer on the stack is 'tagged' to represent its types. * So we need to ignore the tag to ge…

gcc で一番よく使う option は -S

C

Makefile を使わずに自分で呼び出す分には案外冗談でもない。

syntax-rules

はっはっは どんどん太っていきますぞ Bench とるのが怖い

C

SigScheme で setjmp() を使っててややこしい代入操作が。これってどうだっけか。これだと volatile store にはならんのだっけか。 type *var; (type * volatile)var = sth;忘れた。C99 rationale 見よう。何か書いてあったはず。追記: っていうかこれだと e…

far symbol

あんまりやりたくなかったけど、考えた末 "symbol object + 外から数えた束縛 frame の index" にする事にした。例えば ;; symbol に付けてある comment はその symbol というか変数の index 値 ;; unbound なものも global 扱いということで 0 (define x ; …

USE_STORAGE_ABSTRACTION_LAYER

Off にすると ScmFuncType の typedef が無いので compile できません。もう必須にしてしまってもいいんでは?それと SCM_SAL_* macro で一段 layer をかます意味はあるのかな?

んあ?

enum ScmDebugCategory { SCM_DBG_NONE = 0, [...] SCM_DBG_MACRO = 1 << 6, // ← [...] SCM_DBG_OTHER = 1 << 30 /* all other messages */ };何か既に用意されてるべさ。