[net.lang.lisp] Minimal LISP for micros

betz@decvax.UUCP (David Betz) (11/22/83)

I'm soliciting opinions on what people think is a reasonable list of
functions for a subset of LISP to run on micros.  I intend to publish
an article containing a simple implementation of LISP.  I expect this
version to be used by people who are not familiar with LISP and want
to learn more about it.  I would like the subset to be usable, but it
must also be small enough for a magazine article (probably DDJ).  I am
willing to publish the article in several parts, but I want to make
sure that the first part contains enough of the interpreter to allow
the user to start experimenting immediately.  The subsequent articles
would add functions to the base interpeter.

An obvious minimal LISP would contain the five basic functions:

	car cdr cons atom eq

I'm looking for a more reasonable subset than that.  I'm looking for
a subset that would make learning LISP a pleasant experience.  I will
obviously provide all of the basic arithmetic, logical and relational
functions.  Also things like:

	defun set setq quote cond lambda eval apply equal
	rplaca rplacd assoc member

What about all of the map functions?  What about the cxr cxxr ...
functions?  Do I really need prog?

Anyway, you get the idea.  I want a list of functions for a minimal
usable version of LISP.  I'd like this to be implementable in C on
a CP/M-80 system with 64K of memory.  I don't expect it to be fast
or there to be a lot of memory left for list space.  (I'd like at
least 4000 cons cells of list space though)

Please send any replys to me directly.  I will distill them into a
single subset and post it to the net.

	Thanks,

	David Betz
	decvax!betz