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

「Smalltalk で学ぶオブジェクト指向プログラミングの本質」というよりは「Cincom Smalltalk(VisualWorks)で学ぶイマドキの Smalltalk の実際」?

SMALLTALKで学ぶ オブジェクト指向プログラミングの本質作者: 青木淳,浅岡浩子,澤本依里出版社/メーカー: 日経BP社発売日: 2008/07/24メディア: 単行本購入: 14人 クリック: 408回この商品を含むブログ (39件) を見る 雑誌連載をただまとめて書籍化しただけ…

EQL スペシャライザで猫と犬をしゃべらせる

http://d.hatena.ne.jp/scinfaxi/20080727/1217119532 メタクラスを使うのは、けっこう普通にできそうな気がしたので、EQL スペシャライザで。ただ、Gauche にはこの機能はないので、CLISP を使いました。 (setq <cat> (defclass <cat> () ())) (setq <dog> (defclass <dog> () (</dog></dog></cat></cat>…

「初めてのRuby」の言語系図を勝手に添削

http://www.amazon.co.jp/dp/4873113679 http://yugui.jp/wiki/LearningRuby この手の系図には間違いがつきものなのですが、「プログラム言語の系譜で、Lisp→Smalltalkの線を引いてるのはこの本だけ!」と言われてしまうとつい反応したくなるのが人情という…

Squeak Smalltalk で万華鏡を書いてみた件 2

id:sumim:20080719:p1 に関連して、念のため、グラフィックスの扱いが手軽な Squeak システムで万華鏡を書くなら、オーソドックスにはこうだろうという例も書きました。 [Sensor anyButtonPressed] whileFalse: [ | original mirror | original := Form from…

[OOPL] Ruby で、nil.dup は nil を返すべきか?それとも、エラーにすべきか?

[ruby-core:17871] duping the NilClass なぜか異様な盛り上がりを見せています。ちなみに、“ゆるさ”が売りの Smalltalk 的には「 nil を返す以外あるの?」でFAなので、Ruby もこの議論を機に改心して同じ“ゆるさ”を身につけてくれるとうれしいのですが(…

同値関係を求めるパズルを Squeak Smalltalk で

問題xxxx=yyyy という形式のデータをたくさん受け取り、等しいもの同士をグルーピングするプログラムを書いてください。 Rubyで同値関係を求めるパズル - rubyco(るびこ)の日記 Set を使って書いてみました。なお、入力は in.txt なるテキストファイルから…

Squeak Smalltalk で万華鏡を書いてみた件

http://d.hatena.ne.jp/scinfaxi/20080719/1216413198 経由で。 http://d.hatena.ne.jp/hrkt0115311/20080718/kaleidoscope まずは、オリジナルの Ruby コードの雰囲気を反映させつつ Squeak Smalltalk に移植してみました。Ruby の rand() と違い Smalltalk…

じゃんけんの勝ち負け判定を Squeak Smalltalk で

arton師の ご指摘(…というよりは、あからさまな煽り?w)をうけて、「なぜ、あなたはJavaでオブジェクト指向開発ができないのか」の Squeak 版 Smalltalk への移植を暇をみて書いてみてはいるものの、遅々として作業が進まない理由の一つに、ひとつひとつ…

ゆの in 各種言語を Squeak Smalltalk で意訳

とりあえず、Ruby 版、C# 版、Perl 版の三つを翻訳してみました。 ▼ゆの in Ruby Smalltalk には #attr_* はないので、ハンドコードしないといけません。あるいは IDE の仕事として、クラスブラウザから「create inst var accessors」することで、ゲッター「…

ゆの in 各種言語を Squeak Smalltalk で意訳 2

id:sumim:20080711:p1 の続きで Python 版、C++ 版、Io-language 版をさくっと。 ▼ゆの in Python Smalltalk ではクラス名と同名の変数は使えないのでクラス名を YunoPy に。Smalltalk ではメソッドの返値はデフォで self なのでいちいち書くのは冗長ですが…

ゆの in Squeak Smalltalk

ゆの in Smalltalk - みねこあ での召還をまんまとうけてw、各種言語向けのを参考に要件を手探りしつつ、みねこあさんよりご要望のあったスキャナ(字句解析器)に手を加えてしまう Smalltalk ならでは…の方向で。なにしろ元ネタ「ひだまりスケッチ」をまっ…

Squeak は、Squeak Etoys なのか Squeak Smalltalk なのか区別しましょう

squeakの安い本買ってみたら、smalltalkのコードが一行も載ってなかったorz Twitter / KONISHI Takayuki こうした不幸な事故を防ぐためにも、情報を発信する側の Squeak Etoys と Squeak Smalltalk の区別徹底は重要だなぁと思います。Wikipadia は長いから…

Perl の tie() と Scala の implicit def は似ている?

…と、ふと。 404 Blog Not Found:perl - tie()って何をtieするの? http://209.85.175.104/search?q=cache:q5e2DM7yAnYJ:www.coins.tsukuba.ac.jp/~i021216/docs/Scala-implicit-conversion.pdf Ruby や Smalltalk から見ると、基本型がオブジェクトでない an…