2009-01-01から1年間の記事一覧

札幌Ruby会議02「知らないと損をするSmalltalk」の仮想空間を再現するためのコード

MagLev は各々で試していただくとして、Croquet(Squeak Smalltalk 上に構築された、本来はピアツーピア接続を介した仮想空間共有プラットフォーム)を今回、プレゼンツールとして改変したコードと空間内に列べたスライドの画像データを公開しました。 SapRu…

MagLev と Matz Ruby (Ruby1.8)、YARV(Ruby1.9)を戦わせてみる

ついにアルファ版が公開されたようです。 MagLev Ruby VMが公開される、GemStoneの永続化をRubyに maglev/README.rdoc at master · MagLev/maglev · GitHub GemStone/S64(組み込みの OODB 機能を持つ GemStone 社製 Smalltalk 処理系。MagLev と呼ばれる Ru…

Squeak Smalltalk と Ruby のクラス階層をグラフ化

Route 477 - GNU Smalltalkのクラス階層をグラフ化した が面白かったので、参考にして Squeak Smalltalk (Squeak3.10J) と Ruby1.9 (Ruby1.9.1p0) のを作ってみました。 Squeak Smalltalk Ruby Squeak Smalltalk には Traits(ミックスインみたいで、もう少…

“アナグラムを探す”を Squeak Smalltalk で

単語辞書から相互にアナグラムになっている単語を集める. アナグラムとは,(意味のある)単語の文字をならび変えてできた別の(意味のある)単語のこと. 2009-11-10 バッグ(言語によってはマルチセットとも呼ばれる)が使えそうですね。 | words | words := …

“その二乗値が1〜9を過不足なく含む整数の列挙”を Squeak Smalltalk で

2009-11-09 経由で。 2乗した結果に1から9までの数字が1度ずつ現れる整数をすべて挙げよ Haskell再び、簡単なところから - yarbの日記 sort = '123456789' あたりをなんかヒネれないものか 30ナノ秒ほど考えましたが断念しました。^^; (1 to: 987654321 sqrt…

忙しい人のための“What Killed Smalltalk Could Kill Ruby, Too”

http://railsconf.blip.tv/file/2089545/ Ruby の未来は TDD が救うというお話。ただ、悲しいかなボブおじさんが持っている Smalltalk の特に最近の知識は、最新の Smalltalk といえば Squeak(←VisualWorksだろjk)、Squeak で書かれたソフトは Etoys く…

Euler 4: Finding Palindroms を Squeak Smalltalk で

ひさしぶりにPythonシェイプアップ - 西尾泰和のはてなダイアリー 経由で http://blog.bestinclass.dk/index.php/2009/10/python-vs-clojure-evolving/ の Clojure のコード (reduce max (filter #(let [s (str %)] (= (seq s) (reverse s))) (for [x (range…

“居眠り床屋”を Io language で

id:sumim:20090923:p1 の続き。逆に、アクターだから長くなっているってこともないんじゃないのかな…とも思ったので アクターが組み込みの言語である Io で書いてみました。予想通り、比較的短く書けたのではないかと思います。ただ、非同期メッセージングに…

“1から10までの自然数の合計”を Squeak Smalltalk で

ときどきの雑記帖 i戦士篇 2009年10月(上旬) 経由で 「転職活動する暇があったらブログを書け」について:ベンチャー社長で技術者で:エンジニアライフ にある件の問題をを半ば空気を読まずに(*1)書くと。 (1 to: 10) sum Smalltalk スキーとしては「1から10…

“居眠り床屋”を Squeak Smalltalk で

http://twitter.com/yukihiro_matz/statuses/4079331380 経由で http://blog.bestinclass.dk/index.php/2009/09/scala-vs-clojure-round-2-concurrency/ より。 The problemAn old concurrency problem/exercise is ‘The sleeping barber’ and you can eithe…

いや。それはない。(キッパリ)w

ケントベック「SmallTalkが世の中に広まればいいとおもっていたら、広まった時の名前はRubyだった」 幸せなエンジニアになるための仕事術/まつもとゆきひろ&平鍋健児 - @tmtms のメモ ケント・ベックともあろう人が「SmallTalkが世の中に広まればいい」など…

Ruby にも Method や Proc に自らのソースを吐かせる機能が組み込まれるらしい

1.9.3 への導入を目指す予定とか。こうした機能は、Ruby で Smalltalk ばりのクラスブラウザのようなツールを作るのにも役立ちそうですね。 例: proc = ->(x, y) { x + y } proc.to_source #=> "x + y" [ruby-dev:39301] [Feature #2080] Proc#to_source, Me…

MWさんの実行速度比較を、Smalltalkを追加して手元のMacとWinで試す

このページは削除されました Python2.5.1、 Ruby1.8.6、Ruby1.9.1 に Smalltalk 勢として愚直な Squeak3.9 と、精鋭の VisualWorks7.6NC とを加えて速度比較を行なってみました。Java にはあえて抜けてもらったり、元ページで活躍の Python3.1 がまだインス…

Smalltalk好きから見た『パターン、Wiki、XP 〜時を超えた創造の原則』

OO

パターン、Wiki、XP ~時を超えた創造の原則 (WEB+DB PRESS plusシリーズ)作者: 江渡浩一郎出版社/メーカー: 技術評論社発売日: 2009/07/10メディア: 単行本(ソフトカバー)購入: 75人 クリック: 1,306回この商品を含むブログ (159件) を見るとても面白かっ…

“最悪のHello World”を Squeak Smalltalk で

JAPH (Just Another Perl Hacker)みたいなもん? - ときどきの雑記帖 i戦士篇 経由での http://blog.cnu.jp/2009/07/08/hello-world-2/ に Squeak Smalltalk ならではの駄目さ加減でトライ。 World findATranscript: nil; withAllOwnersDo: [:owner | Transcr…

Re: Smalltalk勉強会ってどこでやってるんだろう?

遅レスですが… Smalltalk勉強会ってどこでやってるんだろう? 後で調べてみるか。 なんとなく北海道あたりのような気がしてならないのだけどw ときどきの雑記帖 i戦士篇 - ネタ拾い from ム板 残念ながら札幌ではまだです。今のところ、東京と京都で月1ペー…

join が熱いので Squeak Smalltalk でも

話題の join を模した #join: は GNU Smalltalk にはあるみたいなのですが、 $ gst -v GNU Smalltalk version 3.0.1 $ gst GNU Smalltalk ready st> #('this' 'is' 'a' 'pen') join: ' ' 'this is a pen' 残念ながら Squeak Smalltalk には無いので、同じこ…

Ruby がクラスにメソッドを詰め込みすぎだって? ふっ…

ソフトウェア工学の講義中、先生が「Rubyはクラスにメソッドを詰め込みすぎ」という主旨のことを言ったけれど、オブジェクトが何であるかよりもオブジェクトがどのように振る舞うかを重視するとき、Rubyのやりかたは正しいんじゃないかなーと思った。 ともく…

次のAPLの式が何を計算しているかわかったあなたは…を Squeak Smalltalk で

次のAPLの式が何を計算しているかわかったあなたは... もう、APLにはまっている! http://homepage3.nifty.com/ysaigusa/jp/apl/guide/index.html いや。はまってはいないのですが、だいたいは分かるので Squeak Smalltalk に意訳して動きを見てみるテスト。…

Squeak Smalltalk における“真偽のほど”

404 Blog Not Found:js/perl/python/ruby/scheme - 真偽のほどはいかに Smalltalk では真は true 、偽は false だけです。よく知られているように Smalltalk では条件分岐などの処理は単なるメソッドコールで、それらのメソッド(#ifTrue:ifFalse: など)は…

Ruby で bool?

TrueClass | FalseClass の親クラスBoolClass(仮)が欲しい! on Ruby - ASIPのRubyistなるままに bool - odz buffer jijixi's diary - bool ロバート・マーチンには「Ruby が死ぬ!」とか言われそうですが、Smalltalk 使いとしては、id:asipruby さんの提案通…

この世で最も役に立たない関数を Squeak Smalltalk で

404 Blog Not Found:js/scheme/perl/ruby/C - この世で最も役に立たない関数 ▼ブロック版 Squeak Smalltalk | pointless | pointless := [ | sender | sender := thisContext sender. sender tempAt: (sender tempNames indexOf: #pointless) put: nil. 'tur…

Smalltalk-76 で Array|sum を定義する

http://home.netsurf.de/helge.horch/esug/ な実装の Smalltalk-76 でメッセージングの考え方をレクチャーするとは斬新な! すばらしすぐる。 http://search.twitter.com/search/thread/1797837022 Array#sumとか作れたら(1,2,3) sum.は6になって('1', '2', …

ハリー・ポッター本の割引き額を求める問題を Squeak Smalltalk で

そろそろ http://railsconf.blip.tv/file/2089545/ について何か言っておこうか…と思い、その下調べにと Robert C. Martin のブログをぼんやりと眺めていたところ Ruby がらみの ArticleS.UncleBob.MakingMessesInRuby というエントリーを見つけたまではよか…

素数を洗い出すベンチで Python、Ruby、Smalltalk を戦わせてみる

Ruby1.8が遅いことと、psycoが速いことは認めるが、1.9の測定値が明らかに遅すぎる Twitter / Yukihiro Matsumoto 経由で。 Python+Psycoが速い - DoMshi Modbook はあいにく入院中なので OQO model 02 (VIA C7M 1.6GHz) を使用。 言語 処理系 時間(上限 100…

Re: なぜ Smalltalkはマイナーなままだったのか?

OO

ときどきの雑記帖 i戦士篇 - なぜ Smalltalkはマイナーなままだったのか? くしくもこの問いかけ自体が象徴しているように、Smalltalk という存在について、意外に多くの人がそれを“プログラミング言語”という(暫定ダイナブック環境という本来あるべき姿から…

Mini vMac for iPhone で Apple Smalltalk 起動時のエラーを回避する

GUI

これは“for iPhone”に限らない話なのですが、Mini vMac で動かすとき Apple Smalltalk は起動時に「OffLinErr returned from File Manager call」というエラーを表示して止まってしまいます。 以前からてっきりプリミティブが失敗しているのだろうと思い込み…

Squeak Smalltalk 向け、マルチコア対応 VM(Hydra VM)を試す

AO bench のスコアでは Cincom Smalltalk に遠く及ばない Squeak Smalltalk ですが、この差を少しでも縮めるのに役立ちそうなので、つい先頃、最新版がリリースされた Hydra VM がどんなかんじで動くのか調べてみました。 Hydra VM についてはこちらを。 Qwa…

AO bench を Smalltalk で

[ruby-dev:38080] [Feature:trunk] nested loop construct 経由で、AO bench が流行っている(いた?)のを知ったので Smalltalk でも試してみました。使用した処理系は Cincom Smalltalk (VisualWorks 7.6 非商用版) 、マシンは Modbook (MacBook改。2.4GHz…

28人中にB型が3名以下になる確率

Rに苦戦中にて候 - ときどきの雑記帖 i戦士篇 を読んで R の練習にちょうど良さそうだな…とチャレンジしてみようと思ったのですが、その前にとりあえず Squeak Smalltalk を使ってオーソドックスに。 | 血液型群 B型が三名以下 試行回数 bag | 血液型群 := …