空想犬猫記

※当日記では、犬も猫も空想も扱っておりません。(旧・エト記)

2006-05-09から1日間の記事一覧

etolisp進捗(3)

怠けていて細かい関数ばかり手をつけている。さっさとマクロを実装して,あとはLispで書いてしまうというのが,手っ取り早いように思えてきた。 その場合,C++で実装するのに較べると,lambdaを介するために少し動作が遅くなるのと,読み込みのため起動が少…

etolisp進捗(3)

前述のコードの if ( !pCons->cdr()->isNil() ) THROW_TOO_MANY_ARG; という記述がいまいち格好わるい。 pCons->mustBeRearGuard(); などという呼び出しに変えてみた。Rear Guradは「殿(しんがり)」という意味。Consのリストを,隊列を組んで作戦に取り組…

etolisp進捗(2)

今日は if の実装。九行。 LISPF_TRY( If ) { const Cons *pCons = pValue->asCons(); const Value *pCond = pCons->car(); pCons = pCons->cdr()->asCons(); const Value *pTSub = pCons->car(); pCons = pCons->cdr()->asCons(); const Value *pFSub = pCo…