From: Wolfgang von Hansen
Subject: basic primitives
Date: 
Message-ID: <2iop68$dch@nz12.rz.uni-karlsruhe.de>
Hi all!

I am interested in the set of basic primitives that a lisp interpreter
needs. `Basic primitives' are (this is my definition) all those functions
that can not be derived from other functions that are already known.

Example:
If CAR is a basic primitive then CAAR := (CAR (CAR list)) is not.

I am asking because I am planning to implement an experimental lisp
interpreter. It will have all basic primitives implemented via assembler.
All other lisp functions will then defined in lisp itself. Please don't
tell me that this approach will be awful slow, because it is intended to
use this special ability of lisp to extend itself to a large system with
only a small non-lisp kernel.

Wolfgang
-- 
·······@ipf.bau-verm.uni-karlsruhe.de | Gurus use `cat >a.out' instead of gcc
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&putchar(*((--s%L?_<L?--_
%6:6:7)+"World! \n"))&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}
From: Wolfgang von Hansen
Subject: Thanks (was: Re: basic primitives)
Date: 
Message-ID: <2jqf1a$n2f@nz12.rz.uni-karlsruhe.de>
Thanks to everybody who answered to this subject. I am still making my way
through all the mails I got. I received a lot of hints to literature. The
best book seems to be Allens `Anatomy of LISP' which I won't get from our
library within the next two weeks :-( because somebody else has borrowed
it.

Wolfgang
-- 
·······@ipf.bau-verm.uni-karlsruhe.de | Gurus use `cat >a.out' instead of gcc
float o=0.075,h=1.5,T,r,O,l,I;int _,L=80,s=3200;main(){for(;s%L||
(h-=o,T= -2),s;4 -(r=O*O)<(l=I*I)|++ _==L&&putchar(*((--s%L?_<L?--_
%6:6:7)+"World! \n"))&&(O=I=l=_=r=0,T+=o /2))O=I*2*O+h,I=l+T-r;}