PC-LISP


PC-LISP is an implementation of the Franz Lisp dialect by Peter Ashwood-Smith.
Version 2.11 was released on May 15, 1986. A current version may be downloaded from the external link below.
Currently, PC-LISP has been ported to 32 & 64 bit Linux, Mac, and Windows.
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 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

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 was Scheme although the Common Lisp language also added this feature.

;; Demonstration of dynamic scoping
;; This is a "global" variable
;; Another global variable
;; a function which prints the symbols





)
;; override the symbols


)
;; define two symbols



;; print them





)

Another example showing the use of backquote and the power of LISP. This is a differentiation example.

; D -
; Will compute the symbolic derivative of expression e with respect
; to variable X. We take the expression in standard lisp prefix form and will
; use the following rules of differentiation.
; D = 1
; D = 0
; D = D/u
; D = D+D
; D = D-D
; D = D*v + u*D
; D = D*v + /v^2
; D = */v + D*ln)


v )


,))
,))
)
)))

))))
]