していたら夜になっていた.
Self とは
プロトタイプベースのオブジェクト指向の元祖にして JavaScript の先祖のひとつ.
インストール
当方 OS X Mavericks (10.9.5) です.
Self 言語のサイト http://www.selflanguage.org から OS X 用のディスクイメージ (最新版は 4.5.0 ) をダウンロードして, 中にある Self Control.app を Applications に投げれば VM 自体のインストールは OK です. 他にディスクイメージに入っている Clean.snap は後で使うのでどこかにコピーしておきましょう.
Self Control を起動するとこんな感じ.
"Choose snapshot..." から先ほどの Clean.snap を選択すると VM が起動し, デスクトップが表示されます.
終了はデスクトップを右クリックして "Quit..." から.
間違えてデスクトップのウインドウを閉じてしまったなら "Open Terminal" でターミナルを起動して
desktop open
とやると再度デスクトップが開きます.
コマンドラインで VM を起動する方法もあって, Self Control のメニューに "Install VM at /usr/bin/Self" というものがありますが, 今時 (El Capitan のアレもあるし) /usr/bin は無いだろうということで, 別の場所にインストールします. このメニューで作成される /usr/bin/Self の中身は
#!/bin/sh "/Applications/Self Control.app/Contents/Resources/Self.app/Contents/MacOS/Self" $@
みたいな感じなので, こいつを別の適当な場所 (/usr/local/bin とか) に Self などという名前で放り投げておきましょう (たぶんシンボリックリンクでも良い).
使い方, 言語仕様
ほぼ Self Handbook を読むしかなさそう (あるいは私がググれていないだけ).
GUI (デスクトップ) の場合は, 表示されている shell に何か書いて "Do it" すると実行さます. "Get it" すると実行されてからそのオブジェクトのウインドウが開いて, ウインドウ左上の三角をクリックしたりしていくと色々見えます.
コマンドラインの場合, $ Self -s Clean.snap
としてやると先程と同様にデスクトップが表示されます.
詳細な使い方は $ Self -h
や Virtual Machine Reference — Self Handbook for Self 4.5.0 documentation を見ましょう.
$ Self
だけでも VM は起動しますが, 色々な諸々がほぼ全て存在しないので, Clean.snap を読み込まないと何も出来ません.
適当に対話型インタプリタっぽく実行したい時は $ Self -s Clean.snap -p
,
ファイルからスクリプト言語のノリで実行したいときは $ Self -s Clean.snap -p -f <file>
がよさそうです.
この場合は終了は Ctrl+D で.
私もまだ全然わかっていない (特に言語仕様) ので, とりあえずいつものように Project Euler の問題を解きながら色々試してみて, ある程度まとまったら何か書きます (たぶん).
その他
Self という名前のせいでググラビリティが死ぬほど低くて, 例えばメソッド定義の方法を調べようと self, method, language, prototype などの単語を並べてみても, Ruby や Python, JavaScript に関する情報や, 果てには言語の自主学習の方法 (language self-study method) みたいなものばかり出てきてしまい, 非常に辛いものがあります.