メイン | 2008年06月 »

2008年05月 アーカイブ

2008年05月13日

はじめまして

はじめまして
1月からサイボウズ・ラボに入社しました蓑輪(ひげぽん)です。

Webアプリケーションの開発やOS開発などのバックグラウンドを生かして、技術研究やユーザーが幸せになるアプリケーションの開発などしたいと考えています。
リリースやニュースなどをこのブログで公開していきたいと思っています。

また、細かい技術の話題は個人ブログの方に書いておりますのでよかったらそちらもどうぞ。
よろしくお願いします。

Scheme 処理系 「Mosh 0.0.1」 をリリースしました

これは何か?

R6RSという Scheme の新しい言語仕様に準拠することを目指している高速な Scheme インタプリタです。


※インタプリタの名称を変更しました。


何が出来るの?


Perl や Ruby で行っているような実用的なプログラミングができます。(現時点ではもちろん機能は限られますが)
例えばサンプルとして Mosh で書かれた Wiki が動いています


なぜ Scheme なの?


Scheme という言語が柔軟で素晴らしい言語だからです。
Scheme について知りたい方は、計算機プログラムの構造と解釈プログラミングGaucheなどを読まれると良いでしょう。


ダウンロードとインストール


Google Code からソースコードをダウンロードして下さい。
ソースコードのビルドにはGauche が必要です。

./configure
make
make check
make install

ビルドできない、できたなどの情報もぜひこちらか、日記へのコメントにお寄せ下さい。


機能概要



  • Scheme としてのコア

  • UTF-8 の入出力

  • Quasiquote

  • 正規表現

  • 伝統的なマクロ

  • 30bit の Fixnum

  • シンプルなポート

  • シンプルなCGI

  • format 手続き


ドキュメント


- リファレンスマニュアル
- ロードマップ


制限と注意


このリリースは一番最初のリリースであり、Mosh にはまだ多くのバグや不具合がある可能性が高いです。
もしバグを見つけたらこちらか、日記へのコメント、などでご指摘頂けると助かります。


また現時点で対話的な REPL は実装されていません。


募集


Mosh では開発に参加して下さる方を募集しています。
ソースを読んで参加してみたいと思った方はご連絡下さい。


謝辞


Mosh の開発にあたって多くの方の助けていただきました。
この場をお借りしてお礼を申し上げます。


Gauche 開発者の川合史朗さんには Scheme やインタプリタ全般に関して専門的で貴重なアドバイスをたくさん頂きました。
また Mosh は read.cpp やコンパイラの最適化部分など一部の機能を Gauche のコードを利用しています。Gauche という良質のソースコードを公開してくださっていることに感謝します。


Ruby YARV 開発者の笹田さんには、VM の高速化手法や論文の紹介などたくさんのアドバイスを頂きました。


mumurik さんには FFI や場当たり的なパフォーマンスチューニングから始まるエントリーなど多くのご助言を頂きました。


Gaku さんにはパフォーマンスチューニングについて良き相談相手となっていただきました。私が客観的に見られない部分も明確にしてもらえるなど大変助かりました。


同僚の光成さん、奥さん(id:kazuhooku)には、Scheme オブジェクトをどのように C++ で表現するかについて多くのご助言とレビューを頂きました。


id:sumii さんには A正規形について詳しく教えて頂きました。(結局つかいませんでしたすみません。)


また上記以外にもたくさんの方にコメント、IRC、Lingr、飲み会などでアドバイスを頂きました。
本当にありがとうございます。


ライブラリ


Mosh は以下のライブラリやツールを使わせていただいています。

2008年05月14日

Mosh 0.0.2 をリリースしました

Mac OSX でビルドを可能にする masa_edw さんのパッチを取り込み、Mosh 0.0.2 をリリースしました。
多くの方々からコンパイルエラー状況を教えていただきました。ありがとうございました。

2008年05月20日

Mosh 0.0.3 をリリースしました

Mosh 0.0.3 をリリースしました。(ダウンロード

例外システム、eval、REPL の追加により更に本格的なプログラミングが出来るようになりました。

変更点は以下の通りです。


  • R6RS の例外システムを実装。


  • 対話的なモード(REPL)を追加。

  • eval 手続きを追加。

  • 割り算と剰余を追加。

  • スタックフレームの構造を変更しスタックトレースを出力しやすく。

  • 多くのバグ修正


    • (apply proc ...) 手続きの引数のバグを修正。

    • スタックオーバーフロー時に SEGV になるバグを修正

    • PPC 上の OSX で正規表現のテストに失敗するエンディアン関連のバグを修正(masa_edwさんによる)

    • (+) => 0 、(*) => 1 であるべきバグを修正(lequeさんの指摘による)

    • (cond ((3))) のような cond のバグ修正


バグ報告はIssuesかコメントにてお願いします。

2008年05月26日

Webエンジニア武勇伝のインタビューが公開されました

先日受けましたインタビュー「Webエンジニア武勇伝 第24弾 蓑輪太郎 氏 | サイボウズ・ラボ株式会社」が公開されました。
もし良かったらご覧ください。

About 2008年05月

2008年05月にブログ「higepon @ cybozu labs」に投稿されたすべてのエントリーです。過去のものから新しいものへ順番に並んでいます。

次のアーカイブは2008年06月です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。