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の影響を受けている
- 正規表現
- 文字列補間(?)
- モジュールシステム
- DBI/DBD
- Common Lispから一部機能を引き継いでいる
- キーワード引数
- オブジェクトシステム(CLOS)(?)
- コンディション(?)
まだほとんどわからないけど、読み続けているとこの謎がとけてくるのかな。