PC-LISP

PC-LISP

PC-LISP is an implementation of the Franz Lisp dialect for DOS by Peter Ashwood-Smith.

Version 2.11 was released on May 15, 1986. It can still be found on old abandonware and shareware download sites.

Ashwood-Smith says of his interpreter: "PC-LISP is a small implementation of LISP for ANY MS-DOS machine. While small, it is capable of running a pretty good subset of Franz LISP."[1]

Note that the Franz LISP dialect was the immediate, portable successor to the ITS version of Maclisp and is perhaps the closest thing to the LISP in the Steven Levy book Hackers as is practical to operate. PC-LISP runs well in DOS emulators and on modern Windows versions. Because PC-LISP implements Franz LISP, it is a dynamically scoped predecessor to modern Common Lisp. This is therefore an historically important implementation.

Example

PC-LISP 2.11 (1986) session.

The session is running the following code which demonstrates dynamic scoping in Franz LISP. Note that PC-LISP does not implement the let special form that Emacs Lisp provides for local variables. Instead, all variables are what an ALGOL-based language would call "global". The first dialect of Lisp to incorporate ALGOL scoping rules (called lexical scoping) was Scheme although the Common Lisp language also added this feature.

;; Demonstration of dynamic scoping

;; This is a "global" variable
(setq myglobal "this is my global variable")

;; Another global variable
(setq yourglobal "this is my global variable")

;; a function which prints the symbols
(defun dosomething (mine yours)
  (princ " * Mine is  - ")
  (princ mine)
  (princ "\n")
  (princ " * Yours is - ")
  (princ yours)
  (princ "\n"))

;; override the symbols
(defun nolocals ()
  (setq mine "I have set mine to a new value")
  (setq yours "I have set mine to a new value")
  (dosomething mine yours))

(defun main ()
  ;; define two symbols
  (setq mine myglobal)
  (setq yours yourglobal)
  
  ;; print them
  (princ "calling dosomething\n")
  (dosomething mine yours)
  (princ "calling nolocals\n")
  (nolocals)
  (princ "calling dosomething again\n")
  (dosomething mine yours))

References

  1. ^ from the distribution's readme file

External links

  • List of files which includes: "PCLISP.ZIP 62745 02-23-86 a near franz lisp (with documentation)"

Wikimedia Foundation. 2010.

Игры ⚽ Поможем сделать НИР

Look at other dictionaries:

  • Lisp — Información general Paradigma multiparadigma: orientado a objetos, funcional, declarativo Apareció en 1958 Diseñado por John McCarthy …   Wikipedia Español

  • Lisp machine — Lisp machines were general purpose computers designed (usually through hardware support) to efficiently run Lisp as their main software language. In a sense, they were the first commercial single user workstations. Despite being modest in number… …   Wikipedia

  • LISP — Paradigmen: multiparadigmatisch: funktional, prozedural; manche Dialekte außerdem modular, objektorientiert, reflexiv Erscheinungsjahr: 1958 Designer: John McCarthy …   Deutsch Wikipedia

  • Lisp — Paradigmen: multiparadigmatisch: funktional, prozedural; manche Dialekte außerdem modular, objektorientiert, reflexiv Erscheinungsjahr: 1958 Designer …   Deutsch Wikipedia

  • LISP — Apparu en 1958 Auteur John McCarthy Paradigmes fonctionnel, impératif …   Wikipédia en Français

  • Lisp Machine Lisp — Apparu en fin 1970 Développeurs MIT Paradigmes Objet, fonctionnel …   Wikipédia en Français

  • Lisp Machines Inc. — Lisp Machines Inc. (kurz LMI) war ein Hersteller von Lisp Maschinen, einer bestimmten Art eines Computers. Das Unternehmen LMI wurde 1979 von Richard Greenblatt gegründet, um diejenigen Lisp Maschinen weiter entwickeln und produzieren zu können,… …   Deutsch Wikipedia

  • Lisp Machines — Inc. (kurz LMI) war ein Hersteller von Lisp Maschinen, einer bestimmten Art eines Computers. Das Unternehmen LMI wurde 1979 von Richard Greenblatt gegründet, um diejenigen Lisp Maschinen weiter entwickeln und produzieren zu können, die er bereits …   Deutsch Wikipedia

  • Lisp Machines — Lisp Machines, Inc. was a company formed in 1979 by Richard Greenblatt of MIT s Artificial Intelligence Laboratory to build Lisp machines. It was based in Cambridge, Massachusetts. In 1979, Russell Noftsker, administrator of the MIT Artificial… …   Wikipedia

  • LISP — /lisp/, n. Computers. a high level programming language that processes data in the form of lists: widely used in artificial intelligence applications. [lis(t) p(rocessing)] * * * Powerful computer programming language designed for manipulating… …   Universalium

  • Lisp Machine Lisp — is a dialect of the Lisp programming language, a direct descendant of Maclisp, and was initially developed in the mid to late 1970s as the systems programming language for the MIT Lisp machines.Lisp Machine Lisp itself branched into 3 dialects.… …   Wikipedia

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”