[SML 7430] Re: 第4回Smalltalk勉強会の発表者を募集しています

Masato Sumi sumi @ seagreen.ocn.ne.jp
2008年 12月 3日 (水) 12:24:09 JST


鷲見です。

今回は特に濃さげなのに(いつも)参加できなくて残念です。

PPS のはありませんが、比較的 XEROXオリジナルの Smalltalk-80
に近い GUI を有する Apple Smalltalk なら手元にありますので
どなたかに託すことは可能だと思います。Mac Plus のエミュレータ用
ディスクイメージになっていますので、すぐ動かせます。

あと、映像資料にとどまりますが、1978年ごろの Smalltalk-76 が
動作する様子が、

http://www.cs.washington.edu/research/constraints/videos/thinglab-1978.mov

で見ることができます。QuickTime Player で cmd/ctr + K にて
呼び出せるA/Vコントロールで三倍速くらいで再生すると退屈しなくて
よいと思います。登場する ThingLab 自体も Squeak2.3 で動くので、
映像と同様のデモをすると一部のマニアにウケるかもしれません。
摂氏・華氏コンバータくらいですが動作するイメージも手元にあります。

1978年というと Apple のジョブズたちが PARC を訪れ Lisa ひいては
後の Macintosh の GUI の方向性にヒントを得たとき(1979年)に
ちかいので、そちらの方面に興味のある方にも感慨深いものでしょう。

それと、Smalltalk-76 が Java VM上に再現された
処理系も公開されています。GUI こそ Swing に置き換わっていますが
ブートストラップは当時のものを利用した本格派です。

http://home.netsurf.de/helge.horch/esug/index.html

メタクラスがなく、制御文もメッセージ式でない Smalltalk-76 は、
今流行りの Ruby に(-80より)比較的似ているとアラン・ケイが
言ったとか言わなかったとかいう話も聞いています。

参考まで 100 までの素数を求めるコードを両者の共通点が
際だつように書いてみたものを以下に。(前者は、前述の
エミュのワークスペースなどにコピペしてそのまま評価できます)

"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]].
   isprime ? [primes next ← i]].
^primes contents

#ruby
limit = 100
primes = []
primes << 2
for i in (3..limit) do
  is_prime = true
  for prime in primes do
    i % prime == 0 ? is_prime = false : nil
  end
  is_prime ? primes << i : nil
end
primes


-- 
Masato Sumi


SML メーリングリストの案内