最近Schemeを勉強し始めたんだが、現時点での感想。

利点
- GCがあるので、メモリ管理が楽
- リストや木などを処理し易い
- S式を入出力する手続きが用意されている
    途中結果の出力や、個々の手続きの動作検証がし易い
- シンボル
    シンボルを使うとシンボルテーブルを新たに作らなくてもよいかもしれない。

欠点
- lexやyaccのようなデファクトスタンダードなツールがない
    guile絡みでLanguage Implementation Toolなるものがあるらしいが、
    どういう位置づけのものなのかは知らない。
- 動作が遅い
    ネイティブコードを吐くコンパイラもあり、速いらしい。
    それでも、チューニングをし出すとCとかで組んだ方が速くなると思う。
- マクロ
    Schemeは処理系によってマクロの書き方が違う。
- 資料が少ない
    検索しても見つかるのは、Schemeの処理系を作る話ばかり。
    On Lispに載っていたPrologインタプリタは、Prologの機能を
    マクロとかを使って実現するという話ぽかった。
    もしかしたら前の方の章にProlog→S式変換の話があったりするとか?