2008-09-01から1ヶ月間の記事一覧

Scheme どう書く?的お題を Squeak Smalltalk で

Scheme どう書く?的 - higepon blog 発で、整数リストの変形 - プログラミング日記 で提案された拡張版のお題を、ちょっと変わった方向性で。関連クラスにメソッド「#,,」を定義(「#,」は使えないので、代わりに…)し、これを使ってリテラル風のリスト記述…

VisualWorks Smalltalk の“アプリケーションモデル”で BMI checker 2

id:sumim:20080919:p1 の続き。umejavaさんにコメントやメールで教えていただいたので、フィールドの色が変わる版も。複数のウインドウが共通のモデルを共有したときにも動作するように細工してみました。 | app1 app2 window1 window2 | app1 := BMIChecker…

VisualWorks Smalltalk の“アプリケーションモデル”で BMI checker

アプリケーションモデル これは、Fowler氏がVisualWorks Smalltalkのやり方を念頭において説明しているパターンだ。残念なことに私はSmalltalkに詳しくないので、私の理解が正しいか確かめる術がない(助けてsumimさん!!)。 http://blog.inomata.lolipop.jp/?…

Ruby1.9 のクラスのメタ階層を整理する 3

id:sumim:20080913:p2 の続きで、最後に本題(?)の特異クラスの特異クラスが作られた場合について。 これまでの Ruby1.8 では、特異クラスに特異クラスが作られると、文字通り特異クラス特異的クラスが作られていました。こうして新しく設けられた特異クラス…

Ruby1.9 のクラスのメタ階層を整理する

[ruby-core:18437] Class as second-generation singleton class を読んだ当初は、特異クラスのクラスが Class ってことでええやん!と思ったのですが、改めて調べてみるとどうやら必ずしもすべての特異クラスが Class に属するわけではないようで(かつ、確…

Ruby1.9 のクラスのメタ階層を整理する 2

sumimさんの「Ruby1.9のクラスのメタ階層を整理する」という記事、Rubyの型階層は雑然としているというのは、なんかsumimさんの図が悪いような気もするなぁ。整理すればもうちょっと情報を引き出せるよ。 Ruby1.9 のクラスのメタ階層とかevil-rubyとか - 世…

恒例のフィボナッチベンチで V8 と Smalltalk、Ruby、Python、Scheme とを戦わせてみる

爆速で話題の Google Chrome 搭載 JavaScript VM “V8” は、Animorphic Smalltalk VM がベースになっているらしい の続き。 その速いと言われる V8。実際、どのくらいの速度で動くのかを具体的な数値として見てみたくなったので、手軽に試すことができるフィ…

爆速で話題の Google Chrome 搭載 JavaScript VM “V8” は、Animorphic Smalltalk VM がベースになっているらしい

Animorphic Smalltalk というのは、1990年代半ばに作られ、2006年にオープンソース化されて話題になった“Strongtalk”のこと。 Another interesting aspect of the V8 virtual machine is that it's open source. It is mainly written in C++, based on the …