MacGambit についてのページ(よ)
Last modified at 2005/8/23
MacPythonについてのページ(よ)へもどる
似てるから間違えないでね!
ここには、わたし吉村が書いた MacGambit(Macintosh 上の Gambit -Schemeの実装の1つ-)関連の文書とスクリプトが置いてあります。
文書の内容は Classic MacOS のもので、スクリプトはMacOS8.1+MacGambit v2.2.2で作っています。
MacOS Xの方、Winの方、ごめんなさい。MacGambit は Classic MacOS でしか動かないと思います。
MacGambit BBS(よ)はありません。その代わりにMacPython BBS(よ)をどうぞ。こちらにお気軽にご訪問、ご投稿ください。
★更新履歴:
最近の詳しい更新内容は MacPython BBS(よ)の「MacPythonのページ(よ)の更新履歴」 にあります。
更新日:
- 2005年8月23日
- Meroonのリンク切れを訂正しました。
- 2004年2月14日
- widget-demo(Meroon版)のウィンドウをクラスで書きました。
- 2004年2月11日
- widget-demo(Meroon版)にラジオボタンを加えました。
- 2003年8月26日
- ツール・スクリプトなどにchordを書きました。
- 2003年4月24日
- widget-demo(Meroon版)を作りました。
文書・メモなどにMeroonのインストールを書きました。
- 2003年4月20日
- widget-demo のウィンドウが deactivate になってもボタンが HiLite 状態のままなのを修正しました。
- 2003年4月16日
- このページを公開しました。
このページの目次
まえがき
ツール・スクリプトなど
文書・メモなど
最後に置いたまえがき
まえがき
まだ内容は、なあんにもありません。『MacPythonのWウィジェットのMacGambit版をめざして』みたいなのを辛うじて公開しています。
でも、ここの文書やスクリプトを実行したことによっていかなる損害が生じても責任は負いかねますので、ご了承ください。
それでも、誤り、ご質問などお気づきの点がありましたら、メールくださればうれしいです。MacPython BBS(よ)を設けましたので、そちらへ書き込んでくださるともっとうれしいです。
- MacGambitのダウンロードと基本的な情報については
- Gambit Scheme Systemのページ
- Scheme/Gambitの日本語による情報は
- Algorithmic Language Schemeからたどれます。
ツール・スクリプトなど
実行には MacGambit が必要です。
- chordのダウンロード(約5k)( 2003/08/26 )
和音というか音名のリストからコード名を答えるスクリプト。あんまり役に立ちません。10種類くらいのコードしかわかりません。作った人間と同じ程度の能力しかありません。例:(chord '(g fb b#) -> c maj、フラットはb、シャープは#。
- widget-demoのダウンロード(約10k)( 2003/04/20訂正 )
- MacPythonのWウィジェットのMacGambit版をめざして...-
MacGambitのExamples:window-demo.scmを元にして、ウィンドウ内にボタンを表示するようにしたもの。コントロールとしてボタンしかできてません。
ウィンドウにgrowアイコンを作る、growアイコンに反応してウィンドウを大きくしたり小さくする、ボタンを1つ表示する、ボタンに反応する、ボタンを押している間はハイライトする、ボタンを押したままボタンの外へマウスを動かすとボタンの動作は実行しない、以上を複数のボタンでも動作する...これら1つ1つに苦労したので、何かのお役に立てばと思い、公開します。
解凍したら、MacGambit Compiler/InterpreterのSpecialメニューの『Load...』でtest.scmを選んでください。
すると、下図が現れます。
- widget-demo(Meroon版)のダウンロード(約30k)( 2004/02/14訂正 、ウィンドウをクラスにし、メソッドを少し変更)
- MacPythonのWウィジェットのMacGambit版をめざして...-
...そのためにはたくさんの種類のcontrol(チェックボックスとか、ラジオボタンとか)を作らなきゃならないので、上の"widget-demo"のやり方ではたいへんです。
やはりオブジェクトかなと思ってオブジェクトシステムMeroonで書きました。やっとButtonとCheckbox、RadioButtonだけclassで作りました。ウィンドウはまだ"widget-demo"のまま、メッセージパッシング(と言っていいのだろうか)的にしています。
解凍したら、Meroonの使えるMacGambit Compiler/InterpreterのSpecialメニューの『Load...』でtest.scmを選んでください。
MeroonのサイトからRevision 3.49のものMeroonV3-98Feb09.tar.gzをダウンロードして使いました。
Meroonを使ってみたい人は下のインストールの仕方を見てね。
文書・メモなど
- Meroonのインストール( 2003/04/24 )
MeroonのサイトからRevision 3.49のものMeroonV3-98Feb09.tar.gzをダウンロードして解凍します。”MeroonV3-98Feb09”フォルダができます。
(1)MacGambitにMeroonをLoadして使うには
READMEによると...
MacGambit Compilerで
・Load...で"meroon.gam"を選択
・Load...で"meroon.scm"を選択
これでOK!上のwidget-demo-meroonのtest.scmを実行できます。
(2)Meroonを含んだCompilerをビルドするには
build.gamによると...
・あらかじめ大き目のメモリを割り当てたMacGambit Compilerを起動。
・Load...で"build.gam"を選ぶ。
Load Meroon V3 [y,n](n)?
が出たので
y Enterキー(あるいはoption+Return)
[エラー:*** ERROR -- Files mismatch in compile.gam
が出たので、compile.scmの123、124行目をコメントアウトして(いいかげんなやり方かもしれない)
"build.scm"をLoadするところからもう一度やりなおしました。]
・Test interpreted Meroon [y,n](n)?
が出たので
n Enterキー
・Compile Meroon [y,n](n)?
が出たので
y Enterキー
すごい時間がかかって、コンパイルした。
・Dynamically load Meroon and test it [y,n](n)?
が出たので
n Enterキー
・MacGambit Compilerを終了する。
・MacGambitフォルダの"Interp/Comp (.scm & .O)"をMeroonのフォルダ内にコピーして名前を"Compiler (.O)"に変える。"Compiler"のあとに半角で空白、カッコ内は英字のオーの大文字。
・MacGambitフォルダの"Interp/Comp (.scm & .O)"をMeroonのフォルダ内にコピーして名前を"Interpreter (.O)"に変える。"Interpreter"のあとに半角で空白、カッコ内は英字のオーの大文字。
・MacGambitフォルダの Runtime をMeroonフォルダにコピー。
・MacGambitフォルダの OnlineHelp をMeroonフォルダにコピー。
・Meroonフォルダ内のlncoon.hqxを解凍してできたLink 'MacCompMeroon'をダブルクリックした。
これでMacGambit+MeroonのCompilerのできあがり。
最後に置いたまえがき
わたしムダ話が長いので、いつもの通り"まえがき"を最後にしました。
(ってゆーか、内容がないので...)
わたし、Schemeも好きです。Basicの次にやったのはLispでした。John McCarthy著で'60年代(!)に訳が出た『Lisp入門』(図書館から借りて勉強しました。今もあるのでしょうか?)や『Lispで学ぶ認知心理学』(これも借りましたが、わたしの持ってたインタプリタはEvalLisp - EvalQuoteLisp?かもしれない(^^;こういう分類があったと思う - だったし、何もわからなかったので動かせなかった。もちろん自分でインタプリタを作ることは今もできません)をわくわくしながら読みました。難しいことは理解できなかったけど、『Lisp入門』を読んで自分で関数を作る面白さを初めて知りました(だってN-BASICしか知らなかったんだもの)。もちろんSICPの日本語訳を買いました。3章くらいまでしか読めません。全然理解できません。
それでも「カッコばかりの不思議な言語で、決まりごとも少ないけれど、奥が深くてすごいこともできるのよ」というところが好きです。
そんなわけで、Gambit Scheme も好きです。でも、Mac使ってる人は少ないし、MacGambitを使ってる人はMacPythonを使っている人よりかなり少ないと思うので、いろいろ情報集めるのがたいへんです。というより情報集められません。DrSchemeもありますが、ちょっと大きくて、しっかりしていてチープなところがなくて少し嫌いです(屁理屈!)。日本語で書かれたMacGambitのページってあるのかしら?それで、自分が勉強しながら書いたスクリプトをたった1つではありますが置いときます。何かのお役に立てば幸いです。でも、ここの文書やスクリプトを実行したことによっていかなる損害が生じても責任は負いかねますので、ご了承ください。
何か誤りなどお気づきの点がありましたら、メールくださればうれしいです。
MacPython BBS(よ)を設けましたので、そちらへ書き込んでくださると、もっとうれしいです。
<▲このページのTOPへ>
こんな下まで見てくださって、ありがとうございます。
<MacPythonについてのページ(よ)のTOPへ>
実はこのページはpentimento recordsの中の、MacPythonについてのページ(よ)の中のコンテンツの一つなのだ。
このページへのリンクはご自由にどうぞ。そんな人いる?ご連絡いただければこちらからもリンクさせていただきます。
©Hiroyuki Yoshimura