Gauche とか

id:yuum3 さんの の先日のGauche/Kahuaセミナー2008 Fallでの発表資料。
http://www.kahua.org/download/kahua/2008Fall/WayToGaucheOnRails.pdf


Gaucheフレームワークを作ったときに id:yuum3 さんが感じた事が書かれていて面白かった。分かりやすい発表資料。
僕も最初に GaucheSchemeではなくて Gauche)で大きいアプリを作って良い点だと思ったのは

  • 実用的なライブラリ
  • 正規表現サポート
  • 適用可能オブジェクト(主に正規表現とマッチ結果)
    • すごい便利なのだよなあ。
  • ドキュメント

あたり。オブジェクトシステムは使った事がないので使ってみるか。


Mosh もその影響をもろに受けて、ネイティブで正規表現をサポートしているし、一部適用可能オブジェクットがある。
逆に Gauche が他の言語(処理系)と比べてほんの少し足りないなと思ったのは、エラーメッセージ。これは Gauche 特有の問題ではなくて Scheme の仕様にも関わる話だけど、どこでエラーが起きたか?が分かりづらい。


こういうのとか。

*** ERROR: pair required, but got 3

何回も悩まされた。どこで起きたか見つけるのが大変難しい。
もちろんテストでカバーできる部分もあるが、実際に起きてしまうことがよくあった。
型チェックがあれば話は多少違うのかな。(glint 的な。)
でもあえて全部 pair でデータ構造を作っている場合もあるし意味ないか。


その経験もあって、Mosh では病的と思える程、どこで何が起きたかを知らせたいと思っているが、これがなかなか難しい。あまりにユーザーフレンドリーにしようと思うと、速度が犠牲になりがち。