時の羅針盤@blog
オランダの生活、自身が行っているSagittarius Schemeの開発日誌、
その他雑多なことをつづってます。
Let's start Scheme
(Move to ...)
(はじめよう Scheme 0)
(はじめよう Scheme 1)
(はじめよう Scheme 2)
(はじめよう Scheme 3)
(はじめよう Scheme 4)
(はじめよう Scheme 5)
(はじめよう Scheme 6)
(はじめよう Scheme 7)
(はじめよう Scheme 8)
▼
2010-06-30
C++で書き始めた
›
Scheme処理系をC++で書き始めた。 (実際は片付いてない問題が多々あるのだが・・・) とりあえず、コードがVectorで構成されているのでVectorを。あと物が動くとやはりうれしいので、Fixnumなクラスを作成。 xyzzyの参考に(パチッてとも言う)、クラスの...
2010-06-24
ワールドカップ
›
日本が3-1でデンマークに勝った!! 何が起きてるんだろう?天変地異の前触れか? どうでもいいが、ここオランダではサッカーがあるとえらいことになる。 僕の住んでるライデンにはちょっとした広場が街の中央にあるのだが、そこにパブリックビューがあって結構な人が集まっていた。 ...
2010-06-22
letのフレーム
›
A正規化の話だったりする。 たとえばこんなコード(変な数字が入ってるのはα変換後だから) (define tarai (lambda (x.1 y.2 z.3) (if (not ( こいつをA正規形にするとこうなる (define tarai (la...
2010-06-18
スタックポインタ、フレームポインタ
›
Schemeのコンパイラの話。 3impという論文のコンパイラを参考に作っているわけだが、スタックポインタとフレームポインタではまった。 (ってか、今でも解決してない) ここ にあるスタックとフレームの関係を参考にして、letのコンパイルをしたのだが、上手くいかない。 ...
2010-06-15
コンパイル
›
いろいろ弄って、letをコンパイルできるようにした。 意外と上手くいくもんだ。四苦八苦したけど・・・ っで、たらいまわし関数を動かしてみたら、10,5,0の引数で36秒かかる・・・ まぁ、schemeをscheme上で動かしてるのでオーバーヘッドとかもあるだろう。っがあま...
3 comments:
2010-06-14
カメルーンに勝った
›
ワールドカップの話。 職場が半日だれも仕事しないくらいオランダはサッカーが熱い(個人的にはどうでもいいが) 職場で点が入るたびに雄たけびが聞こえてくるくらい。 っで、それのあおりで日本VSカメルーンを少し見た。 あれ?勝ってる? 1-0で日本が勝った・・・ とりあ...
ミーはおフランス帰りざんす
›
ということで、パリに行ってきました。 パッケージツアーというのは今までの人生でほとんど経験がないので(修学旅行等除く)それなりにいい経験になったかなと。 言葉の壁さえ考えなければ、交通費、朝食、夕食、セーヌ川のボートツアー、その他いろいろ混みで150ユーロは安いのではないかな...
2010-06-09
やっつけA正規形拡張
›
とりあえず、オリジナルのA正規形で問題かなと思ったのが以下の点。 letが引数一つ cond、letrec等の必要そうな構文がない(condはif文で書きかえれるけど・・・) quoteしたものも正規化する ということでちょいちょい変更。 1. letが変数一つって...
2010-06-08
A正規形に切り替える
›
CPS変換がどうにも上手くいかない。 なんとかなるんだろうけど、涙が出そうになってきたので断念。 一応、それ以外の理由として、 コードの肥大化がすさまじい 変換することによって、関数のシグネチャが変わる(継続を渡すように変更するため) ベンチマークで脅威の低速を叩き出...
2010-06-07
コメントの仕方
›
コメントの仕方が分からないという指摘が累計2件ほどたまったので(少ない) 蛇足ではあると思うけど書いてみる。 コメントしたいと思う投稿の一番下にある、数字 + コメントという(このブログだと緑)のリンクをクリックする。 するとなんとも味気ないコメント投稿画面が現れるので、...
2 comments:
2010-06-03
ぬか喜びだった件・・・
›
前述のベンチマークだが、手動CPS変換が間違っていた。 正しくはこう (define ( ;ここが違う (k y) (-/cps x 1 (lambda (x2) (tarai-cps x2 y z (lambda ...
ベンチマーク
›
CPS変換の勉強中にANF(A-normal form)との共通点を見つけて、 ひょっとしてCPS変換しなくてもA正規化すればいいのでは? という誘惑にかられたことから、ちょっとベンチマークとってみた。 (どっちが速度が出るか比較したかった。速い方がいいじゃん!) 使用...
2010-06-01
CPS変換
›
とりあえず基本的なことを勉強してみた。 とにかく、すべてのλ抽象は次に計算される継続を持てばいいみたいで、こんな感じに変換される。 (この辺は知っていた・・・つもり) ; 変換前 (define (pyth x y) (sqrt (+ (* x x) (* y y)))...
2010-05-30
ラムダ計算 入門
›
SchemeでSchemeのコンパイラを作っているのだが、いろいろやるに当たって必要になったので勉強中。 (泥縄とかそういう突っ込みはいらない) ラムダ計算入門 のPDFが分かりやすかったのでこれを元に入門編を勉強。 とりあえずラムダ計算の定義。 e(λ式) ::= ...
2010-05-23
New York最終日
›
書いてる時間がおかしいが、まぁ無事に帰ってきた後ということで^^; 特に何もない、実は(じゃあ書くなよ) 飛行場の近くにあるモールでランチ取っただけという話。 飛行場はNewarkという飛行場。なんとも紛らわしい名前だ。 んでもって、あほかというほど混んでた。 飛行...
2010-05-21
New York四日目
›
四日目もニューヨーク。 今日はツアーバスには乗らずいろいろぶらぶら。 といっても、あんまりどこにも行ってないなぁ。 お茶して、 自由の女神をフェリーから見て、 セントラルパークで(大分遅い)昼食をとって(17時)、 チャイナタウンで買い物して、 終了。 セント...
2010-05-20
New York三日目
›
今日もNew York。 New YorkというかManhattanは基本的に3つの地域(?)から成り立つっぽい。 Uptown、MidtownそれにDowntownの3つ。DowntownにはWall Streetとか経済の中心っぽいところがあり、UptownはHarlem...
2010-05-19
New York二日目
›
今日は普通の時間に起きたのでそれなりに元気。 ホテルで朝食を取ってシャトルバスでManhattanへ。 あいにくの雨なので適当にぶらぶら。 (セントラルパークとか行ってみたいところはあるのだが、雨だしやめた。明日) タイムススクエアとかそれっぽいとこを見た感じ。 48...
2010-05-18
New York一日目
›
無事に飛行機に乗れ、無事にNew Yorkに到着。 実際にはNew Jerseyだったりするが、まぁ主に活動するところはNew Yorkになるので細かいことは気にしない。 とりあえず、今日も4時おきだったりするので、ホテルに到着し次第爆睡・・・ う~ん。 飛行場からホ...
2010-05-17
Orlandおまけ
›
Orlandoを出発する予定だったのだが、いろいろあって飛行機に乗れなかった・・・ ということで、おまけの一日。 朝4時起きという超睡眠不足に加えて連日の疲れから何もできなかったけど・・・ とりあえず、シーワールドに行っておしまい。 明日は本当にNew Yorkのはず・...
‹
›
Home
View web version