Skip to content
EntityQ1882973· pop 14· linked from 186 articles

Maclisp (or MACLISP, sometimes styled MacLisp or MacLISP) is a programming language, a dialect of the language Lisp. It originated at the Massachusetts Institute of Technology's (MIT) Project MAC (from which it derived its prefix) in the late 1960s and was based on Lisp 1.5. Richard Greenblatt was the main developer of the original codebase for the PDP-6; Jon L. White was responsible for its later maintenance and development. The name Maclisp began being used in the early 1970s to distinguish it from other forks of PDP-6 Lisp, notably BBN Lisp.

Key facts

Programming language.name
Maclisp
Programming language.paradigms
Multi-paradigm: functional, procedural, reflective, meta
Programming language.family
Lisp
Programming language.designer
Richard GreenblattJon L. White
Programming language.developer
MIT: Project MAC
Programming language.typing
dynamic, strong
Programming language.programming language
Assembly language, PL/I
Programming language.discontinued
Yes
Programming language.platform
PDP-6, PDP-10
Programming language.operating system
Incompatible Timesharing System, TOPS-10, TOPS-20, Multics
Programming language.file ext
,
Programming language.file format
<!-- or:
Programming language.file formats
-->
Programming language.influenced by
Lisp 1.5
Programming language.influenced
Common Lisp, Emacs Lisp

via Wikipedia infobox

Wikidata facts

Based on
Lisp
Show 2 more facts
typing discipline
dynamic typing
dialect of computer language
Lisp
Sources (5)

via Wikidata · CC0

Article · 日本語

MacLISP(または MACLISP)は、LISPプログラミング言語の一種。初期のLISPに基づき、1960年代後半、MITの Project 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年代初期まで人工知能研究でよく使われた。Planner や Scheme など他のプログラミング言語の実装ベースとしても使われた。また、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 とは無関係である。

Abstract from DBpedia / Wikipedia · CC BY-SA