fbpx
Wikipedia

Maclisp

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[1] (from which it derived its prefix) in the late 1960s and was based on Lisp 1.5.[2] Richard Greenblatt was the main developer of the original codebase for the PDP-6;[1] 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.

Maclisp
ParadigmsMulti-paradigm: functional, procedural, reflective, meta
FamilyLisp
Designed byRichard Greenblatt
Jon L. White
DeveloperMIT: Project MAC
First appearedJuly 1966; 56 years ago (1966-07)
Typing disciplinedynamic, strong
Implementation languageAssembly language, PL/I
PlatformPDP-6, PDP-10
OSIncompatible Timesharing System, TOPS-10, TOPS-20, Multics
Filename extensions.lisp, .fasl
Influenced by
Lisp 1.5
Influenced
Common Lisp

History

Maclisp is a descendant of Lisp 1.5.[3] Maclisp departs from Lisp 1.5 by using a value cell to access and store the dynamic values of variables;[4] Lisp 1.5 used a linear search of an association list to determine a variable's value.[5] The Maclisp variable evaluation is faster but has different variable semantics. Maclisp also employed reader macros to make more readable input and output, termed input/output (I/O). Instead of entering (QUOTE A), one could enter 'A to get the same s-expression. Although both implementations put functions on the property list, Maclisp uses different syntax to define functions.[6] Maclisp also has a load-on-demand feature.[7]

Maclisp began on Digital Equipment Corporation PDP-6 and PDP-10 computers running the Incompatible Timesharing System (ITS); later it was ported to all other PDP-10 operating systems, for example, Timesharing / Total Operating System, TOPS-10 and TOPS-20. The original implementation was in assembly language, but a later implementation on Multics used PL/I. Maclisp developed considerably in its lifetime. Major features[which?] were added which in other language systems would typically correspond to major release numbers.[dubious ]

Maclisp was used to implement the Macsyma computer algebra system (CAS) or symbolic algebra program. Macsyma's development also drove several features[which?] in Maclisp. The SHRDLU blocks-world program was written in Maclisp, and so the language was in widespread use in the artificial intelligence (AI) research community through the early 1980s. It was also used to implement other programming languages, such as Planner and Scheme. Multics Maclisp was used to implement the first Lisp-based Emacs.

Maclisp was an influential Lisp implementation, but is no longer maintained actively. It now runs on PDP-10 emulators and can be used for experimenting with early AI programs.

1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020
 LISP 1, 1.5, LISP 2(abandoned)
 Maclisp
 Interlisp
 MDL
 Lisp Machine Lisp
 Scheme  R5RS  R6RS  R7RS small
 NIL
 ZIL (Zork Implementation Language)
 Franz Lisp
 Common Lisp  ANSI standard
 Le Lisp
 MIT Scheme
 T
 Chez Scheme
 Emacs Lisp
 AutoLISP
 PicoLisp
 Gambit
 EuLisp
 ISLISP
 OpenLisp
 PLT Scheme  Racket
 GNU Guile
 Visual LISP
 Clojure
 Arc
 LFE
 Hy

Characteristics

Maclisp began with a small, fixed number of data types: cons cell, atom (later termed symbol), integer, and floating-point number. Later additions included: arrays, which were never first-class data types; arbitrary-precision integers (bignums); strings; and tuples. All objects (except inums) were implemented as pointers, and their data type was determined by the block of memory into which it pointed, with a special case for small numbers (inums).

Programs could be interpreted or compiled. Compiled behavior was the same as interpreted except that local variables were lexical by default in compiled code, unless declared SPECIAL,[8] and no error checking was done for inline operations such as CAR and CDR. The Ncomplr compiler (mid-1970s) introduced fast numeric support to Lisp languages, generating machine code (instructions) for arithmetic rather than calling interpretive routines which dispatched on data type. This made Lisp arithmetic comparable in speed to Fortran for scalar operations (though Fortran array and loop implementation remained much faster).

The original version was limited by the 18-bit word memory address of the PDP-10, and considerable effort was expended in keeping the implementation lean and simple. Multics Maclisp had a far larger address space, but was costly to use. When the memory and processing power of the PDP-10 were exceeded, the Lisp Machine was invented: Lisp Machine Lisp is the direct descendant of Maclisp. Several other Lisp dialects were also in use, and the need to unify the community resulted in the modern Common Lisp language.

Name

Maclisp was named for Project MAC, and is unrelated to Apple's Macintosh (Mac) computer, which it predates by decades or to John McCarthy. The various Lisp systems for the Macintosh have no particular similarity to Maclisp.[9]

References

  1. ^ a b Levy, Steven (1984). Hackers: Heroes of the Computer Revolution. Doubleday. ISBN 0-385-19195-2.
  2. ^ (PDF) (Report). n.d. p. 19. Archived from the original (PDF) on March 8, 2016. The higher-level language used for most of the vision laboratory program is the PDP-6 LISP System. This system is based chiefly on the LISP 1.5 programming language, but has been extensively modified in a number of ways. These include many new functions and services, including facilities for linking with programs written in other languages.
  3. ^ Moon 1974, p. 1
  4. ^ Moon 1974, p. 47
  5. ^ Lisp 1.5 p. 13, evaluating an atom e in the environment a is done with (cdr (assoc e a)). That involves a linear search of the association list a. A more involved description with global constants and errors is given on p. 71; it does a linear search of the property list before searching the association list.
  6. ^ Maclisp uses defun; Lisp 1.5 uses define.
  7. ^ Moon 1974, p. 107; the autoload property.
  8. ^ Pitman, Kent (December 16, 2007). "The Revised Maclisp Manual (The Pitmanual), Sunday Morning Edition". maclisp.info. HyperMeta, Inc. Declarations and the Compiler, Concept "Variables". Retrieved October 20, 2018. If the variable to be bound has been declared to be special, the binding is compiled as code to imitate the way the interpreter binds variables.
  9. ^ Pitman, Kent (December 16, 2007). "The Revised Maclisp Manual (The Pitmanual), Sunday Morning Edition". maclisp.info. HyperMeta Inc. p. 1 FAQ q1. Retrieved October 20, 2018. Project MAC had nothing to do with the Apple "Mac". And neither did MACLISP.

External links

  • http://www.softwarepreservation.org/projects/LISP/maclisp_family/ contains a bibliography of Maclisp.
    • John L. White. An Interim LISP User's Guide. Artificial Intelligence Memo No. 190, Project MAC, Massachusetts Institute of Technology, March 1970, 87 pages. ftp://publications.ai.mit.edu/ai-publications/pdf/AIM-190.pdf states "'MACLISP' refers to the PDP/6 implementation of the programming language LISP in use at the Artificial Intelligence Group of Project MAC."
    • "In 1973 and 1974, David A. Moon led an effort to implement MacLisp on the Honeywell 6180 under Multics. As a part of this project he wrote the first truly comprehensive reference manual for Maclisp, which became familiarly known as the 'Moonual'." [Steele and Gabriel 1993]
    • Jon L. White [JONL], Eric Rosen [ECR], Richard M. Stallman [RMS], Guy L. Steele Jr. [GLS], Howard I. Cannon [HIC], Bob Kerns [RWK]. LISP News. MacLisp release notes.
    • Jon L. White. LISP: Program is Data: A Historical Perspective on MacLISP. Proceedings of the 1977 MACSYMA Users' Conference. NASA Scientific and Technical Information Office (Washington, D.C., July 1977), pages 181–189. PDF
  • McCarthy, John; Abrahams, Paul W.; Edwards, Daniel J.; Hart, Timothy P.; Levin, Michael I. (1985) [1962]. LISP 1.5 Programmer's Manual (2nd ed.). MIT Press. ISBN 0-262-13011-4.
  • Moon, David (1974). Maclisp Reference Manual (PDF). (PDF) from the original on 2011-10-05.
  • The Revised Maclisp Manual (1983) by Kent Pitman
  • The Multics MACLISP compiler (1977) by Bernard Greenberg

maclisp, confused, with, macintosh, common, lisp, maclisp, sometimes, styled, maclisp, maclisp, programming, language, dialect, language, lisp, originated, massachusetts, institute, technology, project, from, which, derived, prefix, late, 1960s, based, lisp, r. Not to be confused with Macintosh Common Lisp 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 1 from which it derived its prefix in the late 1960s and was based on Lisp 1 5 2 Richard Greenblatt was the main developer of the original codebase for the PDP 6 1 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 MaclispParadigmsMulti paradigm functional procedural reflective metaFamilyLispDesigned byRichard GreenblattJon L WhiteDeveloperMIT Project MACFirst appearedJuly 1966 56 years ago 1966 07 Typing disciplinedynamic strongImplementation languageAssembly language PL IPlatformPDP 6 PDP 10OSIncompatible Timesharing System TOPS 10 TOPS 20 MulticsFilename extensions lisp faslInfluenced byLisp 1 5InfluencedCommon Lisp Contents 1 History 2 Characteristics 3 Name 4 References 5 External linksHistory EditMaclisp is a descendant of Lisp 1 5 3 Maclisp departs from Lisp 1 5 by using a value cell to access and store the dynamic values of variables 4 Lisp 1 5 used a linear search of an association list to determine a variable s value 5 The Maclisp variable evaluation is faster but has different variable semantics Maclisp also employed reader macros to make more readable input and output termed input output I O Instead of entering QUOTE A one could enter A to get the same s expression Although both implementations put functions on the property list Maclisp uses different syntax to define functions 6 Maclisp also has a load on demand feature 7 Maclisp began on Digital Equipment Corporation PDP 6 and PDP 10 computers running the Incompatible Timesharing System ITS later it was ported to all other PDP 10 operating systems for example Timesharing Total Operating System TOPS 10 and TOPS 20 The original implementation was in assembly language but a later implementation on Multics used PL I Maclisp developed considerably in its lifetime Major features which were added which in other language systems would typically correspond to major release numbers dubious discuss Maclisp was used to implement the Macsyma computer algebra system CAS or symbolic algebra program Macsyma s development also drove several features which in Maclisp The SHRDLU blocks world program was written in Maclisp and so the language was in widespread use in the artificial intelligence AI research community through the early 1980s It was also used to implement other programming languages such as Planner and Scheme Multics Maclisp was used to implement the first Lisp based Emacs Maclisp was an influential Lisp implementation but is no longer maintained actively It now runs on PDP 10 emulators and can be used for experimenting with early AI programs Timeline of Lisp dialectsvte 1955 1960 1965 1970 1975 1980 1985 1990 1995 2000 2005 2010 2015 2020 LISP 1 1 5 LISP 2 abandoned Maclisp Interlisp MDL Lisp Machine Lisp Scheme R5RS R6RS R7RS small NIL ZIL Zork Implementation Language Franz Lisp Common Lisp ANSI standard Le Lisp MIT Scheme T Chez Scheme Emacs Lisp AutoLISP PicoLisp Gambit EuLisp ISLISP OpenLisp PLT Scheme Racket GNU Guile Visual LISP Clojure Arc LFE HyCharacteristics EditMaclisp began with a small fixed number of data types cons cell atom later termed symbol integer and floating point number Later additions included arrays which were never first class data types arbitrary precision integers bignums strings and tuples All objects except inums were implemented as pointers and their data type was determined by the block of memory into which it pointed with a special case for small numbers inums Programs could be interpreted or compiled Compiled behavior was the same as interpreted except that local variables were lexical by default in compiled code unless declared SPECIAL 8 and no error checking was done for inline operations such as CAR and CDR The Ncomplr compiler mid 1970s introduced fast numeric support to Lisp languages generating machine code instructions for arithmetic rather than calling interpretive routines which dispatched on data type This made Lisp arithmetic comparable in speed to Fortran for scalar operations though Fortran array and loop implementation remained much faster The original version was limited by the 18 bit word memory address of the PDP 10 and considerable effort was expended in keeping the implementation lean and simple Multics Maclisp had a far larger address space but was costly to use When the memory and processing power of the PDP 10 were exceeded the Lisp Machine was invented Lisp Machine Lisp is the direct descendant of Maclisp Several other Lisp dialects were also in use and the need to unify the community resulted in the modern Common Lisp language Name EditMaclisp was named for Project MAC and is unrelated to Apple s Macintosh Mac computer which it predates by decades or to John McCarthy The various Lisp systems for the Macintosh have no particular similarity to Maclisp 9 References Edit a b Levy Steven 1984 Hackers Heroes of the Computer Revolution Doubleday ISBN 0 385 19195 2 Project MAC Progress Report IV July 1966 to July 1967 PDF Report n d p 19 Archived from the original PDF on March 8 2016 The higher level language used for most of the vision laboratory program is the PDP 6 LISP System This system is based chiefly on the LISP 1 5 programming language but has been extensively modified in a number of ways These include many new functions and services including facilities for linking with programs written in other languages Moon 1974 p 1 Moon 1974 p 47 Lisp 1 5 p 13 evaluating an atom e in the environment a is done with cdr assoc e a That involves a linear search of the association list a A more involved description with global constants and errors is given on p 71 it does a linear search of the property list before searching the association list Maclisp uses defun Lisp 1 5 uses define Moon 1974 p 107 the autoload property Pitman Kent December 16 2007 The Revised Maclisp Manual The Pitmanual Sunday Morning Edition maclisp info HyperMeta Inc Declarations and the Compiler Concept Variables Retrieved October 20 2018 If the variable to be bound has been declared to be special the binding is compiled as code to imitate the way the interpreter binds variables Pitman Kent December 16 2007 The Revised Maclisp Manual The Pitmanual Sunday Morning Edition maclisp info HyperMeta Inc p 1 FAQ q1 Retrieved October 20 2018 Project MAC had nothing to do with the Apple Mac And neither did MACLISP External links Edithttp www softwarepreservation org projects LISP maclisp family contains a bibliography of Maclisp John L White An Interim LISP User s Guide Artificial Intelligence Memo No 190 Project MAC Massachusetts Institute of Technology March 1970 87 pages ftp publications ai mit edu ai publications pdf AIM 190 pdf states MACLISP refers to the PDP 6 implementation of the programming language LISP in use at the Artificial Intelligence Group of Project MAC In 1973 and 1974 David A Moon led an effort to implement MacLisp on the Honeywell 6180 under Multics As a part of this project he wrote the first truly comprehensive reference manual for Maclisp which became familiarly known as the Moonual Steele and Gabriel 1993 Jon L White JONL Eric Rosen ECR Richard M Stallman RMS Guy L Steele Jr GLS Howard I Cannon HIC Bob Kerns RWK LISP News MacLisp release notes Jon L White LISP Program is Data A Historical Perspective on MacLISP Proceedings of the 1977 MACSYMA Users Conference NASA Scientific and Technical Information Office Washington D C July 1977 pages 181 189 PDF McCarthy John Abrahams Paul W Edwards Daniel J Hart Timothy P Levin Michael I 1985 1962 LISP 1 5 Programmer s Manual 2nd ed MIT Press ISBN 0 262 13011 4 Moon David 1974 Maclisp Reference Manual PDF Archived PDF from the original on 2011 10 05 The Revised Maclisp Manual 1983 by Kent Pitman The Multics MACLISP compiler 1977 by Bernard Greenberg Retrieved from https en wikipedia org w index php title Maclisp amp oldid 1124517820, wikipedia, wiki, book, books, library,

article

, read, download, free, free download, mp3, video, mp4, 3gp, jpg, jpeg, gif, png, picture, music, song, movie, book, game, games.