Scheme 処理系 「Mosh 0.0.1」 をリリースしました
インタプリタの名前を変更しました
サイボウズ・ラボのブログでも告知しましたがこちらでも。
何が出来るの?
Perl や Ruby で行っているような実用的なプログラミングができます。(現時点ではもちろん機能は限られますが)
例えばサンプルとして Mosh で書かれた Wiki が動いています。
なぜ Scheme なの?
Scheme という言語が柔軟で素晴らしい言語だからです。
Scheme について知りたい方は、計算機プログラムの構造と解釈やプログラミングGaucheなどを読まれると良いでしょう。
ダウンロードとインストール
Google Code からソースコードをダウンロードして下さい。
ソースコードのビルドにはGauche が必要です。
./configure make make check make install
ビルドできない、できたなどの情報もぜひこちらか、日記へのコメントにお寄せ下さい。
ドキュメント
制限と注意
このリリースは一番最初のリリースであり、多くのバグや不具合がある可能性が高いαに近い状態です。
もしバグを見つけたらこちらか、日記へのコメント、などでご指摘頂けると助かります。
募集
Mosh では開発に参加して下さる方を募集しています。
ソースを読んで参加してみたいと思った方はご連絡下さい。
謝辞
Mosh の開発にあたって多くの方の助けていただきました。
この場をお借りしてお礼を申し上げます。
Gauche 開発者の川合史朗さんには Scheme やインタプリタ全般に関して専門的で貴重なアドバイスをたくさん頂きました。
また Mosh は read.cpp やコンパイラの最適化部分など一部の機能を Gauche のコードを利用しています。Gauche という良質のソースコードを公開してくださっていることに感謝します。
Ruby YARV 開発者の笹田さんには、VM の高速化手法や論文の紹介などたくさんのアドバイスを頂きました。
mumurik さんには FFI や場当たり的なパフォーマンスチューニングから始まるエントリーなど多くのご助言を頂きました。
Gaku さんにはパフォーマンスチューニングについて良き相談相手となっていただきました。私が客観的に見られない部分も明確にしてもらえるなど大変助かりました。
同僚の光成さん、奥さん(id:kazuhooku)には、Scheme オブジェクトをどのように C++ で表現するかについて多くのご助言とレビューを頂きました。
id:sumii さんには A正規形について詳しく教えて頂きました。(結局つかいませんでしたすみません。)
また上記以外にもたくさんの方にコメント、IRC、Lingr、飲み会などでアドバイスを頂きました。
本当にありがとうございます。