2006-06-01から1ヶ月間の記事一覧

100までの整数から素数を列挙せよ…を bitblt で

bitblt というのは、bit-boundary block transfer(bit-field とも)の略で、その名の通り、画像表示処理などの際に行なうビットブロック転送操作、あるいはその実装を指します。BitBlt、あるいは、BitBLT とも(Smalltalk のクラス名としては BitBlt)。も…

100までの整数から素数を列挙せよ…を Squeak の eToys で

eToys でも id:squeaker さんの Kedama(毛玉)を使って書いてみました。Kedama は、端的には、複数のタートルを同時に使って描くタートルグラフィックス・システムです。 Kedama: A massively-parallel tile-scriptable particle system 誰もが気になる名前…

クロージャでカリー化

おそらくは 404 Blog Not Found:Haskellは難しくない--こともある。 がらみで、クロージャとカリー化で検索訪問(?)をいただいたようなので…。 Smalltalk でも Ruby と(メソッド [] を使えないことを除いて)原則として同じく、“直感的”でない方法(^_^;)で行…

エラトステネスのふるいをコンパクトにする方法

関連エントリー: 100までの整数から素数を列挙せよ…を Squeak の Smalltalk でSmalltalk のオーソドックスな方法で。 100までの整数から素数を列挙せよ…を Smalltalk-76 でSmalltalk の祖先で。 100までの整数から素数を列挙せよ…を Smalltalk-72 でSmallta…

100までの整数から素数を列挙せよ…を Smalltalk-72 で

悪ノリして、今度は 1974 年からのエントリー。当時の ALTO のフォントとウインドウで。このころの暫定ダイナブック、すなわち“ Smalltalk を OS として動作する ALTO ”のウインドウは、オーバーラップ表示こそ可能でしたが、まだ、簡素な矩形を描いただけの…

100までの整数から素数を列挙せよ…を Smalltalk-76 で

1977 年から、時空を越えてのエントリー。w "Smalltalk-76" limit ← 100. primes ← #() asStream. primes next ← 2. for% i from: (3 to: limit by: 2) do% [ isprime ← true. for% prime from: primes contents do% [ i \ prime = 0 ? [isprime ← false]].…

100までの整数から素数を列挙せよ…を Squeak の Smalltalk で

「100までの整数から素数を列挙せよ」:キミならどう書く 2.0 - ROUND 1 - ― Lightweight Language Ring まずはお約束から。 Integer primesUpTo: 100=> #(2 3 5 7 11 13 17 19 23 29 31 37 41 43 47 53 59 61 67 71 73 79 83 89 97) 愚直に。 (2 to: 100) s…

Ruby は Smalltalk-76 に似ている。by アラン・ケイ 番外編

id:sumim:20060615#p1 の続き。いろいろと調べているうちに Smalltalk-76 で見かけた、Ruby にも Smalltalk-80 にもない、ちょっとおもしろい機能、編。 ▼心持ちインテリジェントな配列要素アクセス #• は、通常はパラメータである整数の位置にある要素を取…

Ruby は Smalltalk-76 に似ている。by アラン・ケイ 2

id:sumim:20060613#p1 の続き。Smalltalk-76 の勉強を兼ねて、Smalltalk-76 が Ruby に似ているっぽいところを列挙しています。 ▼制御構造の書き方 Smalltalk-80 以降では、条件分岐や繰り返しなどの制御構造もすべて、しかるべきレシーバに対するメッセージ…

LISP 誕生から Smalltalk 誕生までは何年?

某所で見かけたのですが、ちょっと計算…というか、起点のとりかたが一貫していないように思えたので詷べてみました。 History of LISP [McCarthy78] の冒頭に、こんなふうな記述があります。 1. Introduction.This paper concentrates on the development of…

Ruby は Smalltalk-76 に似ている。by アラン・ケイ

Matzにっき - Alan Kayといっしょ によれば、前のエントリーで取り上げさせていただいた“死んだ言語”以外にも、タイトルのような示唆に富む言及があったとのことだったので、さっそく調べてみました。正直、これまで Smalltak-76 はあまり興味がなかったので…

Smalltalk は死んだ言語だ。by アラン・ケイ

Matzにっき - Alan Kayといっしょ や 日本 Ruby カンファレンス 2006(RubyKaigi)の まつもとさんの基調講演での言及から、一部の隠れ Smalltalk ファンの方々には衝撃をもって受け止められたり、あるいはおもしろおかしく取り上げる向きもある、くだんのセ…

Ruby で Smalltalk の #with:collect:

rubyco(るびこ)の日記 - zipWithの自作 と もち - 今日の自作関数 にて、Ruby で Haskell の zipWith を自作しよう…という話。 Haskell の zipWith と似たような動きをするメソッドを Smalltalk で探すと、#with:collect: が見つかります。Squeak システム…

re: re: 代入とメッセージング

id:sumim:20060602:p1 で、(少なくとも“ケイのオブジェクト指向”に立脚して Smalltalk を利用する際には)「すべてはオブジェクト」というよりは「すべてはメッセージング」であることを意識すべし…という話をうけての、結城さんの、 sumimさんの「すべてが…

Ruby のブロックってオブジェクトじゃないよね。これって“驚き最小の法則”に反しない?

プログラマ向けオンラインマガジンの bitwise magazine にて、どうしてかくも多くの人が Ruby に魅了されるのか…を編集者があれこれ語った記事が掲載されているのですが、ちょっと笑ってしまった一節。 Huw: Matz has said that, with Ruby, he has 'tried t…

#overlappingPairsCollect: を使ってパスカルの三角形

巷ではなにやら、風変わりな方法でパスカルの三角形を得るのが流行っているようなので、便乗して id:sumim:20060517#p1 で見つけた #overlappingPairsCollect: を使ってみました。 | results | results := OrderedCollection with: #(1). 10 timesRepeat: [ …