>> On Tue, 30 May 95 10:32:44 JST, Nobusuke Kobayashi <kobayasi@opal.pks.pfu.fujitsu.co.jp> said:
> B−Freeカーネルメーリングリストのみなさま、はじめまして。
> 小林と申します。
> ::隆一@B-Free です。
> ::>> On Mon, 29 May 1995 16:38:00 +0900, 磯山 卓志 <GGG03556@niftyserve.or.jp> said:
> ::> 既存の言語で、そこそこ小さい処理系となると、
> ::> scheme、forthあたりでしょうか。
> ::scheme というと、Common Lisp の Guy Steel Jr. と G.J.Sussman の作った
> ::言語ですね。Common Lisp に比べるとかなり仕様は小さいですが、やっぱり
> ::Lisp ですので、Boot に使う言語としては無理があるような気がします。
> ::(個人的には、Lisp は興味をもっているのですけどね。簡単なやつを 2、3個
> ::作ったこともあるし)
> ::# boot で garbage collection をするのが嫌だというのが一番の理由です ^^)
> Lisp処理系の内部構造についてはあまり良く知らないので、無責任な意見かも
> しれませんが、構文解析がサボれてなおかつ本格的な言語系としてLisp系の言語
> がいいと思います。(別にLisp至上主義なわけではないです ^^;)
> #好みの問題もありますが、個人的にはかっこいいと思いますし...。
> garbage collectionについてですが、処理がこれにかかりっきりになって停止し
> てしまうのが嫌だということだと思っていいのでしょうか?
> (そういうことでなかったら勘違いです。ごめんなさい。
> あれってストレスたまりますし)
うーん、Lisp のように garbage collection を行うためには、複雑なメモリ
の管理の処理が必要になると考えて、嫌だといったのですが。。。
確かに、Lisp だと:
1) 構文解析が簡単。
'(' と ')' ''' "" そしてひとつづきの単語しか構文要素がない!
文法も非常に単純で、ほとんど何も考えず構文解析ができてしまう。
2) 構文が簡単でありながら、複雑なデータが表現できてしまう。
(C だと、単純な木表現すら、ソース中には簡単に書けない)
3) while/if などの普通だったら、特別な予約語が必要な機能も Lisp の関数
(or マクロ)の範囲で定義できてしまう。
という諸々の利点があるので好きな言語です。
これだけの利点がありながら、何故はやらないんだろう。。。
大体、Lisp マシンを作っていた会社はどうなったんだ!!!
*あの* Guy Steele は、SUN に行ってしまったし。なんで、Lisp をやってき
た人間が UNIX の会社に勤めなければならないんだ?
えー、話を元もどします。
ただ、Lisp 言語を boot 時の処理の記述に使うには、メモリの管理をする必
要があり、それがネックになると思います。要するに、boot 時に読み込むべ
きモジュールを入れる場所まで Lisp 用に食われてしまっては、たまらないと
いうことです。
> そういうことであれば、メモリ上のセルが必要なくなった場合にとっとと解放
> するようにすることで回避することもできると思います。
> (最初に言いましたように、内部構造については素人な乏しい知識で考えています
> ので嘘を言ってるかもしれません)
> Lisp系でどうでしょうか?
> #もし、担当とか決っていないのであればLisp処理系って作ってみたい
> #のですが...。(担当者のかたが既にいたらごめんなさい_o_)
たしかに、マーク・スイープ法を使った garbage collection とは違い、リア
ルタイム性を重視し(といっていいのか分かりませんが)、システムの待ち時間
がほとんどない garbage collection の方式はたくさんあるみたいですね。
(最近だと 「情報処理」1994年11月号に garbage collection の特集がありま
した)
> 今後ともよろしくお願い致します。
> --
> Nobusuke Kobayashi <kobayasi@pks.pfu.fujitsu.co.jp>
> PFU Kansai Software co. Software Division.
こちらこそ、これからもよろしくお願いします。
-- 内藤隆一 (ggc00661@niftyserve.or.jp/night@bfree.rim.or.jp)