Entries from 2008-11-01 to 1 month
R6RS Bytevectors の Operations on IEEE-754 representations を実装。IEEE-754 は普段全く意識してなかった。これをきっかけに少しだけ勉強できたのが良かったな。 Bytevector から浮動小数を読み出したりとか。 (almost=? 3.14 (bytevector-ieee-single-r…
パタヘネ アドレッシング 10割 モンスターメソッド 4割 Extract override callなど 5割
今日の英語。porting from Ikarus to PLTを読む。 何が問題でどういう結論になったかを把握すること。可能な限り流し読みできるように試みる。 ふむ。問題となるケースは前半を読んで分かった。しかし読むのは正直しんどいな。 問題を分析しよう 読み飛ばし…
やっと数値 read の実装が完了。bison/re2c を使用することを決断した際にはもう少し楽だと思っていたが間違い。自分でパーサを書くにしろ、パーサジェネレータを書くにしろコード立ち上げのコストはあまり変わらないという印象。 ただし 漏れがあるかどうか…
極座標形式の入力がうまくいかないと思ったらこんなミスを。makeFixnum はどう見ても間違い。 return Object::makeCompnum(Object::makeFixnum(r * cos(a)), Object::makeFlonum(r * sin(a)));
Lingr 経由。VM経由の Flonum 演算の計算途中に現れるテンポラリなFlonumをスタックに alloc するらしい。 以前からスタックに割り当てるというキーワードは聞いていたが、「ネイティブスタック?」「VMスタック?」そんなのできるのか?と思ったら、専用の…
Extract and override getter Introduce Delegator Breakout Method object 昨日と全く同じメニュー。全て10割。
KFCにてオフラインでコードを書いていたら shift/reduce conflict が起きる。よく分からない。いつもなら間違いなく Google 先生直行だが、オフラインなので無理。しょうがないので info bison 。読み進めると意外と面白い。君は前から近くにいたのだね。
パタヘネを読み返し。 MIPSの命令長が全て32bitとか。I形式とかR形式とか見ていたら Mosh の命令も即値埋め込み型に早く対応しようと思った。 DLLの説明の部分で間接ジャンプ先書き換えの図を見ると、初回もそれ以降も外部ルーチンはダミーエントリ経由の ca…
Extract and override getter Introduce Delegator Breakout Method object 全て5割。
パタヘネを読み返しています。今度はマインドマップを描いているので忘れないでしょう。それにしてもPC相対アドレッシングとか読んだ記憶がないな。どれだけ忘れっぽいんだか。
なぜ開催に気付かなかったのか分析が必要。
昨日 bison と re2c で書いた数値パーサが OSX では動くが Ubuntu では動かないという現象に遭遇。(コード壊れた) ずっと調べていたところ bison が生成したコードの中の /* Discard the shifted token unless it is eof. */ if (yychar != YYEOF) yychar …
OS Xで動いてた数値の read が一切動かない。しかも原因不明。 YYERROR_VERBOSE を define すると動くという謎挙動。
WEwLC 1章 ついに1章を1ヶ月ぶりに復習。10割。素晴らしい。覚えたよ。 WEwLC 9章 クラスをインスタンス化できない。10割。 WEwLC 25章 Definition Completionなど 10割。 調子がよい。
Outputz アドオンを入れると、Tab Mix Plus の「検索を新しいタブで開く」が有効にならない不具合を修正しました。 また Wassr での「レス」のアウトプットが Outputz で記録されない不具合も修正しました。Firefox の 「アドオン」 - 「更新を確認」 から O…
re2c と bison の協調動作の調整に時間がかかった。ひとつのプログラムで2種類の bison 由来のパーサを使うので yylex などのリネームが必要だったりとか。 (write #b11/10) (print #b11+10i) (print #b11-10i) (print #b11+i) (print #b11-i) (print #b+nan…
今まさに Lean on the compiler している。と意識できるようになっただけでもWEwLC読んだ価値はあった。
Black Bird のイントロの後半の右手指使いだけを延々と練習。我流のスリーフィンガーを矯正中。うーどうしても中指がでしゃばるな。しばらく練習が必要。
WEwLC 20章 クラス大きすぎ 9割 WEwLC 25章 Extract Override call など 0割。 WEwLC 25章 Pull up Features 10割。
ユーザーの皆さんからご要望の多かった、はてなダイアリーの「その場編集機能」に Outputz アドオンが対応しました。 Firefox の アドオン - 更新を確認 から Outputz アドオンを更新する事で利用可能になります。 対応サービスのご要望などがありましたら、…
ちょっとテストです。
id:YasuyukiMiura さんがコミッタとして活躍を始めてくれました。僕は数値の read を早く実装し、テストを書きやすくしないと。 NUM2(2進数) の read を実装する。あれこれいじってみたが数値の reader を re2c/bison で外部に作った方が実装が楽そう。 こ…
Bignumが実装されたのでやっと get-timeofday が使えるようになった。うれしい。
IRCで話していたらやる気が出たので Tiny CLOS を動かしてみました。 (define (fib x) (if (= x 0) 1 (* x (fib (- x 1))))) (define-generic gfib) (add-method gfib (make-method (list) (lambda (call-next-method x) (if (= x 0) 1 (* x (gfib (- x 1)))…
WEwLC Pull up / Pull Down 2割。 WEwLC Characterization test 10割。 世界一分かりやすい株実践編 10割。次の復習は来年。
The art of metaobject protocol を Google Book search で少し読む。プレビューということもあり間が抜けてしまうので教材としてはつらいな。例の本が届くまでは別の題材を探す。
Tab Mix Plus との相性問題をご指摘いただいた。 searchbar.handleSearchCommand を取りあってしまっているのでその辺りを修正。 きれいな修正方法はなさそう。問題が修正されたか確認後リリースします。
面白かった。
Numeric Tower を実装していて「この仕様は美しいな」と感じていたのだが、よく考えればそれは数学の美しさだった。Numeric Tower は数学の表層に過ぎないのは良く分かっているつもりだが、この整然とした美しさには特別なものを感じる。Tower とは言い得て…