Go to the first, previous,
next,
last section,
table of contents.
This manual documents slisp for programmers intending to write
application lisp code and/or add new C-coded primitives to xlisp.
This manual is not intended for nonprogrammers who only want to
use the system.
Slisp (skandha-lisp) is an extensible version of David Betz's
76704.47@CompuServe.COM 'xlisp', a small lisp interpreter written
in portable C.
The particular xlisp version used derives from Niels P
Mayer's mayer@hplnpm.hpl.hp.com 'winterp' package for x-windows,
and incorporates much work by Tom Almy toma@sail.labs.tek.com,
among others. It has been modified by adding hooks which
make it easy to add new functions to the interpreter without actually
modifying the interpreter source files, turning xlisp into a generic
application engine which can -- and is -- being used for a variety of
applications. Within our own group slisp is the basis for skandha4, a 3-D graphics package; siserver, a lisp interface to a structural information database, and others. We hope that by providing the basic slisp environment many other similar applications will be developed.
Slisp uses the hybrid implementation strategy of emacs, winterp,
xlispstat, the Nasa Panel Library, autocad and other recent packages,
using a small portable lisp interpreter as a flexible high-level
application programming language, together with application-specific
C-coded primitives to provide speed and special facilities where needed.
Quick Overview of the chapters in this manual.
- Slisp Tutorial
-
An introduction to Slisp, which becomes progressively more detailed. How to program in LISP using an existing slisp application, how to download a personal copy of slisp in order to add new c functions, the file organization of slisp, how to configure slisp for a new machine, how to create a new slisp application, how to create a new slisp c module that is to be part of an slisp application, and how to add new primitives.
- Xlisp Tutorial
-
A simple introduction to LISP programming in xlisp. This is a fairly generic
introduction to lisp programming suitable for programmers who haven't
used the language before.
Programmers new to lisp will want to read this chapter thoroughly and
work the examples; Programmers who know lisp will probably want to skim
it quickly to get a feel for what xlisp does and does not support.
- Xlisp Objects Tutorial
-
A simple introduction to the object-oriented facilities of xlisp. These
predate the common-lisp object oriented facilities, and unfortunately
are quite different from the commonlisp approach. On the bright side,
xlisp's facilities are *much* simpler, while still giving us what we
really need.
Programmers new to xlisp will want to read this chapter thoroughly.
- Xlisp Reference
-
Exhaustive function by function and variable by variable documentation
of the standard xlisp facilities, . It does *not* document facilities
added to xlisp by application programs such as skandha4, since the same xlisp kernel is used by a
number of different packages, and it is important to maintain a clear
distinction between the invariant xlisp kernel and the
application-specific stuff. The slisp file hierarchy is designed to allow application-specific documentation to be added as a separate top level in the emacs info directory, one for each separate application. However, every application will have access to the basic functions documented in this chapter.
No sane person is likely to actually read this chapter end to end.
- Xlisp Internals
-
The internal workings of the xlisp core interpreter. You certainly
don't need to read this if you are just writing lisp code, and you
shouldn't need to understand most of it even if you are adding new C
primitives.
Go to the first, previous,
next,
last section,
table of contents.