Redefining 'primitives'

In any particular version of the Logo language, the procedures we call Logo primitives are primitive only in the sense of being in-built, part of the implementation of the system. They are not primitives in the more normal sense - i.e. non-derivative elements. In fact it is easy enough to define many of the so-called primitives using just a small subset of the in-built procedures. If it were not for speed and efficiency, you would not need last since you can define it using first, if, empty?, op, bf. With scarcely more resources, item can also be defined

Try defining these two procedures - using new names (e.g. new.last) for your versions of the primitives. Notice that the procedures which you define will typically make use of recursion.

Can you similarly handle count, bl and member?

What other primitives are derivative in this sense?

How small could a very basic version of Logo be?



Ron Brasington
Department of Linguistic Science
The University of Reading
Reading
UK

E-mail: ron.brasington@rdg.ac.uk