Squeak
ひ日誌の「 Mac に英文を読ませる」に触発されて。 エディタとして常用する Emacs に読み上げ機能を付加する便利さや、任意のキーで選択テキストを読み上げてくれる機能が用意されている OS X にはとうていかなわないまでも、クリップボードのテキストを声に…
Squeak の Smalltalk におけるカーリーブレイス(中括弧)を使った記述は、前身である Apple Smalltalk 時代にラリー・テスラーの手により組み込まれた、配列の特殊な表記法を受け継いだものです。 参考:Squeak のコード中によく中括弧を見かけるけど、あり…
id:sumim:20060209:p1 に call/cc 版を追記。
call/cc …というか継続(a Continuation)が使えるようになったので「 Scheme 入門 16. 継続」の最後の項「 4.3. コルーチン」にある、call/cc を用いたコルーチンもどきの例を試してみる。 まず手始めに、スレッドで同じことを記述。 | rstream | rstream :…
Squeak システムのインストール(念のため) http://squeakland.jp/developer/ の指示に従ってセットアップ ・http://squeakland.jp/developer/download/image/SqueakPlugin-dev-527.zip を入手、展開 ・使用している OS 向けの仮想マシン(バーチャルマシン…
TMUG(東京マッキントッシュユーザーズグループ)のメーリングリストで Apple の Aperture への言及にからめて引き合いに出された Adobe の Lightroom について、そこで引用されていた Sooey の「Adobe Lightroom には Lua が使われている」によれば、 Adobe…
トーフサロン な suzuki さんの「Squeakによるオブジェクト指向プログラミング入門」に、新ページ「クラスの定義」が追加されました。この次の Squeak システムならではの開発方法…というのも楽しみです。
id:lethevert さんのコメント欄で id:squeaker さんのツッコミがあったのをきっかけに、また久々に Smalltalk-72 で遊んでみたので、メモ。 今回は、(今の)Smalltalk について知見を深めるためというより、純粋に“Smalltalk-72”という言語に興味をもって接…
http://www.spice-of-life.net/wiki/index.cgi/d/?wikiname=LearnOOPWithSqueak Ruby で書かれた Web アプリケーションフレームワーク、CGIKit で知られる トーフサロン の suzuki さんによる。 (主にメッセージ指向の)オブジェクト指向がまだピンとこない…
Matz にっき 経由で。将来、Ruby にも採用される…かもしれないw、アスペクト指向っぽいモジュールシステム、Classboxes で遊んでみました。 Classboxes は、クラスボックスと名付けられたクラス横断モジュールの組み込みを通じて、既存メソッドを置き換えた…
解くんじゃないのかよ!w ヒビルテ より。おそらく、中学校の幾何の問題。 | pasteboard triangle square anotherTriangle | pasteboard := RectangleMorph new. pasteboard color: Color white. pasteboard borderWidth: 0. square := PolygonMorph shapeF…
www.textfile.org より、ひ日誌 経由で [ruby-list:41768] Re: nilの扱い 。 ここで Rails の blank.rb に定義された blank? というのは、Squeak だと #isEmptyOrNil のようなものでしょうか。 Collection >> isEmptyOrNil ^ self isEmptyUndefinedObject >>…
System.exit() の「メソッドの使用頻度の統計」に触発されて…。 札幌市にお住まいの○○さんからのお便りです。「Smalltalk システムって、クラスライブラリはもちろん、言語処理系自体がほぼすべて Smalltalk 言語で記述されていて、ソースもエンドユーザーが…
PC Watch:元麻布春男の週刊 PC ホットライン「アラン・ケイが Squeak で変える教育現場」 http://pc.watch.impress.co.jp/docs/2005/1111/hot392.htm 画素数に関して、ALTO と比べるところがニクイですね。っても、たぶんアラン・ケイが言ったことをなぞっ…
Matz にっき 経由で、「ダイナミック Objective-C 第12回:ポージングで乗っ取り」。ここで紹介されている Cocoa/ObjC の poseAsClass: の作用が面白いので、同じようなもの(#poseAs:)を Squeak の Smalltalk で実装してみるテスト。#become: を使うので、…
バカ往く のある記述への反応で始まった inamode6 のやりとりを受けて ruby-list に「Date へのメソッド追加要望」という投稿がありました。そのスレを見ていて、Squeak システムの Smalltalk 言語で同様のことはどんなふうになっているのか興味を持ったので…
ざっと見たところ、cweek を使ったものがないようなので(日数を 7 で割るのと、さほどかわりありませんが…)。 require 'date' t = Date.today; y = t.year; m = t.month p (Date.new(y,m,-7).cweek-(Date.new(y,m)-7).cweek)%52 -7 を -1 にすれば月曜日、…
同じく A Strolling Programmer 経由で、バカ往く 発。FAQ らしいので、メモ。 caller(0).first[/:in \`(.*?)\'\z/, 1] ちなみに、日曜日とはまたちがった意味で、ここいらへんも Smalltalk の得意とするところ。 thisContext method selector thisContext …
A Strolling Programmer 経由で、ふたたび id:nisyu さんによる はてなの質問、第二弾。「Rubyのプログラムで今月「日曜日」が何回あるのか教えてください。」 Ruby でも考えてみるつもりですが、まずはとりあえず、こういうのは Smalltalk の得意種目(?)な…
Erlang のチュートリアル の非同期メッセージングの例に触発されて、Io のアクター(“@()”)で似たようなことはできないか、Io の非同期メッセージングの学習を兼ねて試してみました。 syncFib.io fib := method(n, if(n < 3, 1, fib(n - 2) + fib(n - 1))) …
次の式を評価すると、ファイルの内容を表示したり編集するためのペインを欠いた状態でファイルリストを起動することができます。 FileList2 morphicViewNoFile openInWorldちょうど、先の簡易エディタモード(ファイラ機能のペインを欠いている)とは逆の状…
ファイルリストは、通常、デスクトップメニュー → open... → file list で起動し、Squeak システム備え付けのファイラとして使用しますが、デスクトップメニュー → open... → file... でファイルを選んで開いたり、あるいは、次のようにファイルストリームに…
丁稚な日々 経由で、はてなの こんな質問…っていうか挑戦? Squeak の Smalltalk で書き下すとこんな感じ。 (($0 to: $z) as: String) select: [:each | each isAlphaNumeric or: [each = $_]] これだけで終わらせるのもなんなので、Ruby の勉強を兼ねて、最…
引き続き、日経 Linux 10 月号、「プログラミングのオキテ」にある Ruby のリフレクション機能の表を参考に、Squeak システムの Smalltalk との対応表を作ってみました。 リフレクション機能 Ruby Squeak の Smalltalk メソッド名の一覧 Foo.instance_method…
日経 Linux 10 月号の「プログラミングのオキテ」にて、SimpleDelegator の簡易実装を引き合いに、Ruby のリフレクション機能の紹介。まつもとさん曰く“Ruby に負けないくらい動的”…な Smalltalk ではどんな具合になるのかなぁ、と試してみました。 SimpleDe…
id:mimpoo さんのところ経由でその存在(翻訳も)を知ったので、メモ。 Smalltalk と ペンギン (By Jason Steffler) [2000.03] Smalltalk [2000.11] Smalltalk(オブジェクト、クラス) [2000.12] Smalltalk(継承、ポリモーフィズム、抽象クラス、コレクシ…
ちょっと前に arton さんのところの「トリッキーなコード」というエントリーを受けて、id:kmt-t さんによる 反応 で引き合いにだされた、逆数を求める C++ のコード。 #include <stdio.h> #define FP_ONE_BITS 0x3F800000 float p, r; p = 1234.121234f; int i = 2 * </stdio.h>…
Derive Your Dreams 発、結城さんのところほか、いろいろなところ経由で。なんだか流行っているみたいなので…(^_^;)。 まず、fix 。Smalltalk のブロックを使ったプログラミングにおいて、一番身近な存在といえる Scheme 版を id:SaitoAtsushi さんのものを…
die さんの 歪 経由で、高林さんの いやなブログ 発「配列操作の比較表: Ruby, Python, JavaScript, Perl, C++」をうけて。 似たような文法の言語間で混同しないように整理するのが、そもそもの目的のようなので、Smalltalk がごとき変態文法はお呼びでない……
あまりに時間が短かったので、ちょっと詳しめの解説をぼちぼち書いてゆきます。 事後に提出した資料(ソース、プレゼン静止画、プレゼンイメージを再現するためのプロジェクトファイル群。自由演技作品を含む)は、LLDN のサイトで公開していただいています…