(Translated by https://www.hiragana.jp/)
Maclisp - Wikipedia コンテンツにスキップ

Maclisp

出典しゅってん: フリー百科ひゃっか事典じてん『ウィキペディア(Wikipedia)』
MACLISPから転送てんそう

MacLISP(または MACLISP)は、LISPプログラミング言語げんご一種いっしゅ初期しょきLISPもとづき、1960年代ねんだい後半こうはんMITProject MAC開発かいはつされた。リチャード・グリーンブラットがメインプログラマとして PDP-6 けのコードベースをき、その保守ほしゅ開発かいはつは Jon L. White が担当たんとうした。'MacLISP' とばれるようになったのは1970年代ねんだいはいってからで、PDP-6 じょうの LISP 処理しょりけい登場とうじょうしたためである(BBN Lisp)。

MacLISP は DEC PDP-6/10 うえ動作どうさした。当初とうしょオペレーティングシステムとしては ITS だけだったが、のちには PDP-10 じょうほかのOSでも動作どうさするようになった。当初とうしょ実装じっそうは PDP-10 のアセンブリ言語げんごかれていたが、のちMultics うえPL/I使つかって移植いしょくされている。MacLISP では、言語げんご処理しょりけいならバージョン番号ばんごうがどんどんおおきくなるような大幅おおはば機能きのう追加ついか継続けいぞくてきおこなわれた。

MacLISP は数式すうしき処理しょりシステム Macsyma実装じっそう使つかわれ、ぎゃくに Macsyma の一部いちぶ機能きのうが MacLISP に導入どうにゅうされた。SHRDLU実装じっそうにも使つかわれ、1980年代ねんだい初期しょきまで人工じんこう知能ちのう研究けんきゅうでよく使つかわれた。PlannerScheme などのプログラミング言語げんご実装じっそうベースとしても使つかわれた。また、Multics じょうの MacLISP は、LISPベースのEmacs実装じっそう使つかわれた。

MacLISP は様々さまざま影響えいきょうおよぼしたが、現在げんざいではほとんど保守ほしゅされていない。しかし、PDP-10 エミュレータうえでは動作どうさするので、ふるいAIプログラムを実行じっこうしてみることはできる。

MacLISP には当初とうしょ少数しょうすうまったデータがたしかなかった。CONSセル、アトム(当時とうじはシンボルとばれた)、整数せいすう浮動ふどう小数点しょうすうてんすうだけである。その配列はいれつ多倍たばいちょう整数せいすう文字もじれつタプル追加ついかされた。整数せいすう以外いがいのオブジェクトはポインタとして実装じっそうされており、そのデータがたはポインタがしたアドレスの範囲はんい判断はんだんされていた。

プログラムはインタプリタでもコンパイラでも実行じっこう可能かのうである。コンパイラは変数へんすうスコープが制限せいげんされるてんと、CAR や CDRといったインライン処理しょりでエラーチェックをしない以外いがいはインタプリタとわらない。1970年代ねんだいちゅうごろ、数値すうち演算えんざん性能せいのう強化きょうかしたコンパイラが登場とうじょうした。これにより、整数せいすう演算えんざんではFORTRANどう程度ていど性能せいのう実現じつげんされた(ただし、配列はいれつやループの実装じっそうはFORTRANのほう高速こうそくだった)。

初期しょきのバージョンは PDP-10 のアドレス範囲はんいである 18ビットで制限せいげんされており、様々さまざま実装じっそうじょう制限せいげんがあった。Multics では、よりおおきなアドレス空間くうかん使つかえたが、Multics システム自体じたい数少かずすくなかった。人工じんこう知能ちのう必要ひつようとするメモリりょう性能せいのうが PDP-10 の限界げんかいえたころ、LISPマシン開発かいはつされた。このため、LISPマシンじょうのLISPは MacLISP の後継こうけいたる。そののLISP処理しょりけい様々さまざまなコミュニティでつくられ、最終さいしゅうてきにこれらを統合とうごうした Common Lispまれることとなった。

MacLISP という名称めいしょうは Project MAC に由来ゆらいしており、アップルの Macintosh とは無関係むかんけいである。

参考さんこう文献ぶんけん

[編集へんしゅう]
  • スティーブン・レビー(ちょ)、古橋ふるはし芳恵よしえ松田まつだ信子のぶこわけ)、『ハッカーズ』、1987ねん工学こうがくしゃISBN 978-4-87593-100-3

外部がいぶリンク

[編集へんしゅう]