Franz lispがBSD標準でついていたし、KCL, Schemeとか、Alegro Common LISPとかも、一応、触っては見ました。たぶん、ABCLの実装か何かで使う羽目になったんだろうと思う。和田先生は、LISPの処理系は何を使っているんだろう?
なんだけど、結局、あまりはまらなかったかな。Prolog の方を良く使っていました。もう使ってないです。
macro とかでコード生成しながらプログラムというスタイルは、C++ではTemplate に、相当するのかな。はまり具合も同じような感じ。macroを展開してpp(prety print)する関数がないとプログラミング出来ないです。
Utilisp (Common LISP以前)では、木でデータ構造を全部書いてしまって、実行時に(nullp x)しながら、木をたどっていく見たいな感じだったと思う。でも、Common LISPな今は、defstruct しちゃうのが普通でしょ? 型が欲しければ、defstruct 多用して書けば良い。実行時チェックするコードを普通に入れれば、型付の言語と使い勝手は同じ。
インタプリタ(eval)があるのが絶対的に便利。でも、Perlだってあるしな。小さいテストをしやすいので、初心者向きだと思う。覚える構文が少ないのも利点の一つか?
未来大学では、Schemeから教えているはずだが、どんな感じかな〜 Schemeの問題は、後で役立たないことなんだよな〜
No comments:
Post a Comment