空想犬猫記

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

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

iPhone (8GB) げっと

これは思ってたより,かなりいい。元々,電話をあまり必要としていなかったので,実用的であることに期待していなかったというのもあったけど,普通に使いやすいんでびっくりした。ここまでやるか,というところまでUIが作り込まれている。その殆どは必要か…

etolisp 塩漬け

前回の package の修正後,また更に名前空間がらみでバグを発見。今までの実装はかなりいい加減で,back quote の「,」や「,@」を含むシンボルを「,arg」や「,@body」などのように,ひとつのシンボルとしてパースし,back quote の評価時に「,」や「,@」以降…

etolisp 進捗 (21) 〜 Packageの実装 (4)

朝起きると神のお告げがあり,etolispはまたも邪悪な「俺仕様」に陥らずに済んだ。イヤ,結局,仕様に当たったわけではないんだけど,私の好ましい方を支持する指摘があったので,そっちを信じることにした(『神のお告げ』たる所以・笑)。name ID とか sym…

iPhone 購入のヨカン

会社からの携帯電話支給が止まった。私用以外で携帯電話を使ったことがなかったから,切られて当たり前の話ではある。そろそろ手取り足取りの過保護から独り立ちしなさいということか。アメリカに来てからコミュニケーションはほとんどSkypeかチャット。携帯…

etolisp 進捗 (20) 〜 Package (3)

追記:このエントリは誤っている可能性が高いです。 前々回,前回の実装は,parse 時にシンボルの値を決定していたが,それはやってはならないことだった。というのも,Common-Lisp では動的に active なパッケージを切り替えることができるので,パースした…

休日

久々に海にいく。さいきん,また風邪がぶり返したかのように etolisp をいじり始めたため,夜更かし気味であり,その結果として,朝起きられず,サーフィンに行ってなかった。本日は3週間ぶりの波乗り。体力も明らかに落ちている。ハリケーンの影響か,強か…

etolisp 進捗 (19) 〜 Package の実装 (2)

パッケージについてもう少し考えてみる。Paul Graham の本は package についてほんの3ページしか割かれていないが,その冒頭には A package is a Lisp object that maps names to symbols. とある。そう,Common-Lisp においてパッケージはオブジェクトなの…

etolisp 進捗 (18) 〜 package の実装

テストフレームワークも少し進化して,こんな感じでテストを書き始めた(少し冗長なのは,本人のスキル不足と etolisp 自体に最低限の関数しか用意されていないから)。 (defmacro nice-caught (&body body) `(progn (nice-catch 'error ,@body) *last-nice-…

etolisp 進捗 (17) 〜 user interface, test framework

Macro も大体動くようになって(まだまだ細かいところで問題は山積みであるが)いよいよ次は構造体や CLOS の実装を試してみようという気になってきた。ただそのためにはシンボル操作周りの関数が不足しているので,いくつか実装する必要がある。一つ一つ実…

航空ショウ@ミラマー基地

San Diego の北にある Miramar 基地の air show に航空ショウマニアの F さん(40代半ば・独身)と行く。海軍の基地なので,目的は今まで見たことのなかった F/A-18 や AV-8 を見るのが主な目的。ミグやスホーイのでもフライトもあるとのことで期待していた…

etolisp 進捗 (16) 〜 変態マクロ動く

おやすみなさいと,オフラインになってから寝るまでの,1時間のコーディングが至福の一時だったりする。昨日の方針通り back quote にネストされた back quote の中身は展開しないという方針で,変態マクロが動くようになった。back quote を使って「`,@hoge…

etolisp 進捗 (15)

天からの突っ込みが入った進捗(13)の修正を正式に復帰する。実際にはパース時にHashを作っていたのを,LambdaおよびMacroが評価されるタイミングで作成するように戻しただけなので,実質的にはコードの場所を移しただけ。よくよく考えれば進捗(13)はあまり意…

日々の出来事

塩鮭を焼いただけなのに,煙探知機に怒られ,少しムッとする。

etolisp 進捗 (14) 〜 macro expansion

で,結局こうなった。context frame とか lexical context とか,正確な定義をしないまま変数名に使っているので,この辺は,間違っていたら,おいおい修正しようと思う。進捗(8) の方針をそのまま実装した。defun は lambda を setf したのとほぼ等価な実装…

Macro 再考

風も日差しも強く,波も悪そうなので,海に行かず Lisp のマクロについて,もう一度読み直してみる。どうやら7ヶ月前に妄想したこと(進捗(8) )がだめだったのかもしれない。Practical Common-Lisp を読み直して,もう一度マクロについてまじめに考えてみる…

etolisp 進捗 (13) 〜 パーサの改良

追記:このエントリは誤っている可能性が高いです。 今までパーサでは愚直に cons tree をくみ上げていたが,&optional や &key の文脈によっては,cons 以外の構造体,たとえば hash などで構文木を作った方が効率的であることに気付き始めた。いろいろでき…

パーサを元に戻したそうかどうか考えている件

パーサで構文木をいじるとマクロで困ると id:practicalscheme さんより指摘があった。マクロは ANSI Common LISP (Prentice Hall Series in Artificial Intelligence) だと,10章にあって,その辺りまでいくと [あとで考える] タグが付いていて,正直あまり…

パーサー改良中

パーサのデバッグを視覚的に行う。趣味でスクリプト言語の実装をやってるっていうと,自慢できそうだけど,こうやって構文木をダンプすると,如何に簡単なことをしているかってのが白日にもとに晒されてしまう(笑)こんな絵ばっかりかいていると,だんだん…

ムッキー