PLisp
PLisp is an s-exp syntax for generating PostScript files. The PLisp compiler translates PLisp to PostScript, which can then be run on any PostScript engine. This makes it useful for document preparation.

This system is advertised in the comp.lang.lisp faq as available from nebula.cs.yale.edu. That host doesn't exist any more, but you can still get it from the AI Repository at CMU.

It's Public Domain. Although some of the source files have individual copyright messages, the author was contacted in February 2003 and said "Go nuts. Delete copyrights. Have fun." Message-ID: pan.2003.02.13.01.19.24.891304@consulting.net.nz

The author is now at jpeterson@western.edu - I'd be interested to hear if this software is still alive somewhere. -- John

An example from the demo/ directory -

(defun inch (x) 1 (* x 72))

(defun wedge () 0
  (with-newpath
    (moveto 0 0)
    (translate 1 0)
    (rotate 15)
    (translate 0 (sin 15))
    (arc 0 0 (sin 15) -90 90))

(with-gsave
  (translate (inch 3.75) (inch 7.25))
  (scale (inch 1) (inch 1))
  (wedge)
  (setlinewidth 0.02)
  (stroke))

(with-gsave
  (translate (inch 4.25) (inch 4.25))
  (scale (inch 1.74) (inch 1.75))
  (setlinewidth 0.02)
  (dotimes (i 12)
    (setgray (/ (1+ i) 12))
  (with-gsave
    (wedge)
    (with-gsave (fill))
    (setgray 0)
    (stroke))
  (rotate 30)))
(showpage)