Gauche入門 環境を整える

プログラミングGauche
次の案件が始まるまで少し時間があるため、ちょっといつもとは異なるテクノロジーを勉強することにした。
なるべく直接本業に関係なく、基礎力が向上するような題材として、関数型プログラミングを題材にすることにした。Gauche Nightのトラックバックを見ているとGaucheが熱いみたいなので、言語はGaucheに決定。読み方はゴーシュというらしい。

さっそく本屋で「プログラミングGauche」を購入。
とりあえず、MacPortでGaucheをインストール。バージョンは最新ではないけど、アンインストールが楽なんで、すぐにパッケージシステムに頼ってしまう。

ports install gosh

MacPortのGaucheのバージョンは、

$ gosh -V
Gauche scheme interpreter, version 0.8.12 [utf-8,pthreads]

というわけで、ちょっと古い。(現時点の最新版は0.8.13)
これで勉強用の環境構築は完了。とっても簡単ですな。MacPortのパッケージ作者に感謝。

とりあえず、プログラミングGauche第1章ー第3章まで読んだので簡単にまとめておく。

  • Lispの特徴
    • S式
    • リスト構造
  • LispにはCommon Lisp系とScheme系の2種類がある。
    • Common Lispは、高機能な仕様をめざす
    • Schemeは単純で直行する少数のルールを保つ
  • Schemeの基本ルール
    • lamda式は、「レキシカルな環境を保持した手続き」へと評価される
    • 手続き呼び出しは継続を伴った引数付きgotoである
  • Gaucheの特徴
    • Perlの影響を受けている
  1. 正規表現
  2. 文字列補間(?)
  3. モジュールシステム
  4. DBI/DBD
    • Common Lispから一部機能を引き継いでいる
  5. キーワード引数
  6. オブジェクトシステム(CLOS)(?)
  7. コンディション(?)

まだほとんどわからないけど、読み続けているとこの謎がとけてくるのかな。