レトロLisp探検: Franz Lisp — #:g1

Posted 2016-12-13 14:55:39 GMT

方言の系統

MACLISP

主要開発者

Richard Fateman、John K. Foderaro、Keith Sklower、Kevin Layer

登場時期

1979年

特徴

Cで実装されBSD Unixと密な連携が可能。BSDが導入された大学機関で活躍した

後続への影響

Allegro Common Lisp

概要

Franz Lispは、NILと同じく、1978年当時の新型マシンであるVAXを利用しようという所からスタートしました。
Franz Lispという名前は、音楽家のフランツ・リストから拝借したようですが、思い切り駄洒落です。
(ちなみに、コンパイラの名前は、lisztでした)
当時のマシンリソースの限界を打破しつつもLisp専用機よりは安価にマシンリソースを手に入れられる、ということだったようですが、Richard Fateman教授を中心とするチームはNFSからの資金援助もありVAXを手に入れ、Franz社を興しFranz Lispの開発が始まります。
まずは、MACSYMAを動かすことが目標だったようですが、VAX上でFranz Lispが稼動するようになり、MACSYMAも稼動するようになると、そのMACSYMAはVAXIMAと呼ばれ非常に歓迎されたようです。
また、MACSYMAのような大きなアプリケーションを動かす為にはメモリ管理についても革新が必要で、BSD Unixの仮想記憶が進展することになるきっかけにもなったのだとか。

Franz Lispはその由来からして、MACLISP系の方言になりますが、UCI LispやINTERLISPからも機能を取り込んでいます。
また当時様々な機能が実験され追加されていたLisp Machine Lispの成果も取り込んでいて、当時のLispコミュニティのメーリングリストでは、MIT系Lispの開発者もFranz Lispの開発者も熱く議論しており、切磋琢磨していた様が伺えます。

Franz Lispの特長としては、BSD Unix文化に馴染ませた所があると思います。
まず、Cとの連携が重視されており、FFIが充実しており、シンボル名も大文字に畳み込んだりはしません。
エディタはviやexを呼び出す機能が標準で提供されているなど、Lispマシンの環境がLispに完結する方向に向ったのとは対照的です。

その後、1984年にCommon Lispが登場すると、Common Lispの商用ベンダーも増えてきたため、Franz社はCommon Lispの開発を決断します。
この辺りはFranz社の歴史ページに詳しいですが、Franz Lispのメイン開発者であるFoderaro氏が一年自宅に籠ってCommon Lisp処理系を開発したという話が熱いです。

体験

Franz Lispは、BSD系Unixの上で稼動するものがメインですが、VAXのエミュレータ上の4.2BSDあたりで動くようです。
自分が試した限りでは、VAX Ultrixではパッケージで提供されているので動かすのが容易かなと思いました。

まとめ

Allegro CLを触ってからFranz Lispのマニュアルを眺めたり、Farnz Lispを使ってみたりすると、結構Allegro CLがFranz Lispの文化を引き継いでいることが分かります。
Allegro CLファンの方は是非、Franz Lispも触ってみましょう。

参考文献


HTML generated by 3bmd in LispWorks 7.0.0

comments powered by Disqus