Reading Gauche/99.作業ログ
- 先日、ひげぽんさんから、Reading Gaucheの下にページを作ってほしいという依頼がありましたので、yamanetoshiさん、Readingの編集ですが、Reading Gauche/Reading Gauche 0.9/の下にしていただけませんか?もし、パスが長いようでしたら、Reading Gauche/0.9/...にしてもいいと思います。 -- knishii2156
- yamanetoshi さんへ、そろそろ週末には時間がとれるようになったので、始動します。11月29日の話し合いで、Gauche 0.9を読みたいということでしたので、私もそれにのります。既存のページとは分けて新ページを作り、0.9 を読みましょう。0.8.11と共通部分はリンクでいいと思います。 -- knishii2156
- ひげぽんさん、上記の通り色々なイキオイにて、0.9 で云々って話になったんですけど、良いですか? -- yamanetoshi
- はい。もちろんです。この Reading Gauche以下の階層であれば好きなページを作っていただいて構いません。 -- ひげぽん
- えーと、月末に上京しまーす。 -- yamanetoshi
- スミマセン。11/30 実施の Android なイベントに合わせて上京する事になりました。11/29 に前泊するんですが、その晩にみなさまのご都合がよければ集合できれば、と思ってます。もう一週間をキッてるので無理かと思ってますので、スルーして頂いて結構です。 -- yamanetoshi
- 11/29の夜は開いております。ひげぽんさんたちはどうですか?ちなみにyamanetoshiさんはどこに宿をとられますか? -- knishii2156
- すみません。自分はちょっと厳しいです。せっかくの上京なのにすみません。 -- ひげぽん
- 今後の展開の件について > knishii2156 さん -- yamanetoshi
- まず、暫定的にmainのページを作っています。それを完成させてから、検討したいと思います。11月中旬に本業の方でプレゼンを行う関係で、中旬までめだったアクションは起こせない予定です。下旬に始動を予定しています。 -- knishii2156
- 承知しました。自分も今月は色々と忙しいのでエントリポイントからのひらを色々見てみたいと思ってます。 -- yamanetoshi
- というわけで 全てのインストラクションを制覇したようです。みなさんお疲れ様でした。いやあ勉強になりました。 -- ひげぽん
- TAIL_RECEIVE_ALLをやりました。yamanetoshiさんレビューをお願いします。 -- ひげぽん
- えーと、自分の理解では_成程_としか言えなかったりして。命令の文脈的に「継続フレームがスタックに PUSH されない」というのは成程、なカンジです。ので、問題ナシって事で。 -- yamanetoshi
- レビューありがとうございます。ではクローズします。 -- ひげぽん
- 結局のところ_次_はどうなるんでしょ? -- yamanetoshi
- TAIL_RECEIVE_ALLが残っていますね。順番的にはだれかな。僕かな? -- ひげぽん
- TAIL_APPLYについて、まとめました。ひげぽんさん、指摘があればコメントしてください。 -- knishii2156
- TAIL_APPLY 良いと思います。 -- ひげぽん
- ひげぽんさん、確認ありがとうございました。では、クローズします。ひげぽんさん、次のインストラクションをお願いします。 -- knishii2156
- では、つぎのインストラクションですが、TAIL_APPLAYをやります。 -- knishii2156
- ちょっと待ってくださいね。TAIL_APPLYはAPPLYとまったく同じに見えるのですが?本当。同じもの異なる命令にするのは何故?ちょっと考えます。 -- knishii2156
- 歴史的経緯がありそうですね。ざっと調べた限り TAIL_APPLY は使われていないようです。推測するに過去にはコンパイル時に末尾文脈の apply を検知して TAIL_APPLY を発行していたのではないでしょうか。その後、次のインストラクションが RET かどうかで判定できるようになり使用しなくなったとか。とりあえず APPLY のページを完成させて、 TAIL_APPLY からはリンクだけ張ればよいかなと思いました。 -- ひげぽん
- 確かに使用されていないようですね。.APPLYtte -- knishii2156
- APPLYは、完成してませんか?パッと見た感じ、,yamanetoshiさんが完了させているように見えるのですが。 -- knishii2156
- ということは全てのインストラクション制覇? -- ひげぽん
- とりあえず、,TAIL_APPLYはAPPLYページのリンクでいいとして、残りは、,TAIL_RECEIVE_ALLと作成途中の命令のページですかね。もう後、3、4個という感じでしょうか。 -- knishii2156
- 昨晩、上記の時間帯に自分は一体何をしてたのか、というのが気になってたりして (わら -- yamanetoshi
- てか、今後どう進める方向でしょうか? -- yamanetoshi
- 今後の展開として、2つあって、1つはmain.cを読んで愚直にひらを行って解読すること、もうひとつは、これはと思ったモジュールを切り出し、それを徹底的に読む(GCなど)こと。プログラムの処理を知るなら1番目のやりかたかなと思っていますが?どうですか? -- knishii2156
- あ、ごめんなさい。上記の件ですが直近になります。今後の部分はどちらが良いのか悩ましいですね。。 -- yamanetoshi
- knishii2156 さん、LREF0_PUSH_GREF_TAIL_CALL のレビューをお願いします。 -- yamanetoshi
- yamanetoshi さん次のインストラクションをお願いします。 -- ひげぽん
- Reading Gauche/vm/insn/LREF0_PUSH_GREF_CALL をやりました。yamanetoshiさんレビューをお願いします。あと3つ!。 -- ひげぽん
- あらら、見落してました。今日は無理ですが、なるはやでレビューしましょうね。 -- yamanetoshi
- 見落としてはいない事が判明してます。記憶を失なってる最中にメイルをチェックしている模様。。 -- yamanetoshi
- 確認しました。使用例のリンク切れ以外は問題無いと思います。 -- yamanetoshi
- リンク切れ直しました。レビューありがとうございました。クローズとします。 -- ひげぽん
- 毎回インストラクションを探すのが面倒なのでReading Gauche/04.項目列挙/VMインストラクション に unread なインストラクションを書いておきました。この中から好きな物を選んでやっていきましょう。 -- ひげぽん
- 次、やりましょうか? -- yamanetoshi
- あ。やります。すみません。wikiの通知が最近来て無くて完全に忘れていました。しばらくお時間をください。 -- ひげぽん
- 止めてしまい申し訳ありません。LREF0_PUSH_GREF良いと思います。 -- ひげぽん
- ところで VM 命令全部終わったら、結構一区切りなので打ち上げでもしたいと思ったんですが、居住地がばらばらなので難しいですねw。 -- ひげぽん
- Reading Gaucheを今後どうするかですが、結論をまず書くと、yamanetoshiさんが良ければ、ひげぽんさんをアドバイザーとして続けるべきだと思います。ひげぽんさんには、我々が困ったときにサポートしていただく形式にして。Reading Gaucheそのものは我々2人でやっていくことを検討しましょう。個人的には、藤田善勝さんのYpsilonを読みたいと思いますが、Reading Gaucheをこのまま放棄する形で別のプログラムを読むのは、2人とってはよくないように思います。(物事を簡単に放棄する癖がつくと思います。) -- knishii2156
- yamanetoshiさんへ、私が原因でいつもVMの進行を遅延させて申し訳ありませんが、なんとか片付けてながら、Reading Gaucheがどこまで進んだかを把握していきましょう。main.cのページすらできていないようなので、VM以外でどこまで進んでいるのかの把握に多少時間がかかると思います。その後で、どういう方針でいくかを検討しませんか。 -- knishii2156
- 次のインストラクションですが、LREF0_PUSH_GREFをやります。 -- knishii2156
- disasmがいい例がというか、例がまったく挙げられません。何かいい例があれば、教えてください。 -- knishii2156
- 良い例かどうかは分かりませんが、(disasm (lambda (x) (list x display))) はどうでしょう? -- ひげぽん
- ありがとうございます。それを使わせてもらいます。 -- knishii2156
- ひげぽんさん、お待たせしました。レビューをお願いします。それから、そろそろVMのインストラクションも終わるので、今後、どうするか決めておいたほうがいいと思います。GCはyamanetoshiさん、ひげぽんさんも読み込まれているので、目的の重要度としては高くないように思います。いずれにせよ、次に何をやるか決めましょう。 -- knishii2156
- 次に何するか、を検討賛成です。でも自分は GC 読んでないッスよ。 -- yamanetoshi
- 失礼しました。ともかく、このままGaucheを更に読むのか?何か新しい処理系を読むのか?話し合いましょう。 -- knishii2156
- Gauche 読んでくのは継続なんじゃないッスか? -- yamanetoshi
- 私にとっては、継続でいいと思うのですが、ひげぽんさんにとって、意味あるのかなと思った次第です。レビューの指摘からみても、相当Gaucheを読み込んでいるように思えるので。 -- knishii2156
- 自分はVMインストラクションで一区切りつけて、Gauche Reading は卒業しようかなと思っています。shiro さんのコードから十分勉強させてもらったので、そろそろ違うコードを読むか一休みをと考えています。みなさんが GC なり他のパートに進むのは大歓迎ですし、たまに覗いてコメントを書くくらいはやっていこうかと。 -- ひげぽん
- そーかー、どうしましょうかね? > knishii2156 さん -- yamanetoshi
- ええと、レビューですが自分がやりましょうね。ローテ的に自分の番っぽい事に今気づきました。 -- yamanetoshi
- いちおう自分の方からコメントを。ol な wiki 記法 (+) を使った方が良いと思います。(これだと分からないかなぁ。。 -- yamanetoshi
- yamanetoshiさん、番号付きリストには+を行の頭に書いて、行を整えましょうということでよろしいでしょうか?一応やってみました。 -- knishii2156
- PUSH_GREF_TAIL_CALL に着手してます。なんかカン違いしてたんですが、直前インストラクションって自分がレビュー隊長だったんですね。レビューをどなたにお願いすれば良いでしょうか? -- yamanetoshi
- あ。表が間違っていますね。すみません。私がレビューしますので完了しましたらお知らせください。 -- ひげぽん
- yamanetoshiさん、確認しました。問題ないと思います。ひげぽんさんから特に指摘事項がなければ、クローズしていいと思います。 -- knishii2156
- 情報錯綜気味ですが、ひげぽんさん確認お願いしますです。 -- yamanetoshi
- 遅くなりましたが確認しました。良いと思います。>yamanetoshiさん -- ひげぽん
- yamanetoshi さん。次のインストラクションをお願いします。あといくつ残っているんでしょうね。残りわずかな予感。 -- ひげぽん
- たぶん PUSH_GREF_TAIL_CALL に着手なんだろな、と思ってます。 -- yamanetoshi
- LOCAL_ENV_TAIL_CALL をやりました。knishii2156 さんレビューをお願いします。 -- ひげぽん
- 問題ないです。yamanetoshiさんからの指摘事項がなければ、これでクローズしていいと思います。 -- knishii2156
- むむ。少々お時間頂戴できますでしょうか。でもレビューア OK ならクローズして構わない、という話もありましたので、knishii2156 さんマターで OK だしちゃって構わないですよ。 -- yamanetoshi
- てか、knishii2156 さん OK との事なんで (以下略 -- yamanetoshi
- ありがとうございます。ではクローズします。 -- ひげぽん
- 止まってますね。次は僕かな。インストラクション選びます。 -- ひげぽん
- つぎのインストラクションですが、LOCAL_ENV_CALLをやる予定でいます。 -- knishii2156
- ひげぽんさん、LOCAL_ENV_CALLのレビューをお願いします。 -- knishii2156
- 使用例の disasm あたりの部分の見栄えが微妙じゃないッスか? -- yamanetoshi
- 確かに微妙です。もうちょっといい例があれば、変更します。多分、すぐには思いつかないので。 -- knishii2156
- や、disasm と main_code で始まる行が引用になってない、という意味です。分かりにくくてスミマセン。内容、という意味ではないです。 -- yamanetoshi
- 指摘にもとづいて、直してみました。何かあれば指摘してください。 -- knishii2156
- 以下いくつか気になる点を修正してみました。-- ひげぽん
このインストラクションは、ローカル関数の呼び出しの最適化の際に現れる。VAL0は呼び出しのためのクロージャーを持ち、かつスタックはすでに引数を持っている。VAL0には呼び出すクロージャがセットされており、スタックには引数が既に PUSH されている
このインストラクションは、LOCAL-ENVのように存在する値をもつENVフレームを生成する、そのときそしてVAL0のなかのクロージャーの入り口となるポイントエントリーポイントにジャンプする。そのポイント要はCALL命令をバイパスできるものである。というのは、引数はすでに調整され、我々は呼びだれたクロージャーが純粋な関数総称関数でないことを知っているからである。
- ひげぽんさん、指摘ありがとうございます。指摘事項を反映させました。なにかあれば教えてください。 -- knishii2156
- ありがとうございます。確認しました。disasm の一部が Wiki 記法とかぶって脚注になっているのを修正していただいたら次に行って良いと思います。 -- ひげぽん
- イマイチな修正かもしれませんが、注釈の解除の方法がこれしか思いつかなかったので、()の部分にスペースを入れてみました。これでよければ、これで完了にしたいと思います。 -- knishii2156
- PUSH_GREF_CALL のレビューをお願いします > knishii2156 さん -- yamanetoshi
- yamanetoshi さん次のインストラクションをお願いします。いよいよのこりわずか。 -- ひげぽん
- RECEIVE_ALL やりました。yamanetoshi さんレビューをよろしくお願いします。 -- ひげぽん
- 承知しました。少々お時間下さいまし。 -- yamanetoshi
- ひげぽんさん、教えてください。RECEIVE_ALLは、SCM_VM_RECEIVE_ALLとSCM_VM_TAIL_RECEIVE_ALLのブロックから構成されていると思います。ひげぽんさんの記述では、SCM_VM_TAIL_RECEIVE_ALLに続く部分については特に触れられていません。SCM_VM_TAIL_RECEIVE_ALLのブロックについては特に書く必要がないというこでしょうか? -- knishii2156
- RECEIVE によるとこれ (まるっと纏めて書いちゃう方式) がひげぽん方式 (?) みたいですね。 -- yamanetoshi
- RECEIVE_ALL の説明に関しては TAIL_RECEIVE_ALL 部分も含めてありますが、関連項目の部分に列挙されている要素は RECEIVE_ALL のものだけとなっています。 -- ひげぽん
- VALUE_N は VALUES_N に修正、ではないかとおもいます。 -- yamanetoshi
- ありがとうございます。修正しました。 -- ひげぽん
- obsolete な命令という事も含め、自分はこれで OK ではないかと思ってます。(上記のコメントへの反応はしてほしいですが) -- yamanetoshi
- ありがとうございます。では次に行きましょう。 -- ひげぽん
- LOCAL_ENV_JUMPをクローズします。ひげぽんさん、次のインストラクションをお願いします。 -- knishii2156
- ページが大きくなりすぎてメモリエラーになっていたのでコメントページを分割しました。 -- ひげぽん
- LOCAL_ENV_JUMPをやります。 -- knishii2156
- まとめてみました。ひげぽんさん、毎度のことながら、レビューよろしくお願いします。 -- knishii2156
- 遅くなりました。自分も完全に理解できていないので間違っていたらごめんなさい。大筋良いと思いました。disasm の例では一体に何が起きているのかが分かるとうれしいかも。(自信ないですが多分)loop という手続きが再帰しているんですが、インストラクションレベルでは goto のような jump になっているようです。jump 直前に不要なフレームを削除しているのかなあと。それ以外は気になるところはありませんでした。 -- ひげぽん
- disasmについて書き直しました。ちょっとした解説をつけ、参考にした川合史朗さんの記事をリンクしました。読んでみて問題あるようでしたら、教えてください。 -- knishii2156
- Reading Gauche/99.作業ログ/コメント過去ログ
now: 7
リンク
最新の20件
2018-10-07
2018-09-20
2018-09-03
2018-05-09
2017-09-29
2017-01-10
2016-12-11
2016-10-04
2016-08-14
2016-05-29
2015-12-28
2013-02-25
2013-02-21
2013-02-20
2013-02-12
2013-02-11
2013-02-10
最新の20件
2010-02-01
2010-01-31
2010-01-30
2010-01-29
2010-01-16
Counter: 3254,
today: 1,
yesterday: 0
HTML convert time to 0.102 sec.
Copyright(C)2003-2007 MonaProjectTeam, all rights reserved. powered by www.be-interactive.org