Adapting LOGO to meet your needs

Why bother to extend the language?

Whenever you learn about some new subject area - as opposed to learning some isolated fact - you find that you acquire a new vocabulary to handle the new concepts that are involved. You will sometimes hear people say: 'I could cope with subject X if it weren't for the awful terminology.' They are probably mistaken. It may well be that you can talk about anything using only the 850 words of Basic English but the fact of the matter is that new vocabulary makes life very much easier rather than more difficult. New vocabulary provides you with a quick way to refer to new notions which you would otherwise need to talk about in a very roundabout fashion. It is much easier to shout 'Snap!' when playing cards than to struggle with 'I say! My card is the same as the one on the top of the pile!' It is much the same with talking to a computer. It is easier to get it to do what you want if you can first teach it a language adapted to the task.

New names and new tricks

In a very obvious sense we have already begun to find ways of extending the LOGO language. As soon as we start to set up new variables we enrich the vocabulary we dispose of for referring to objects. But any programming language worth its salt provides for variables. LET VAT = 17.5 is BASIC's equivalent of LOGO's make "vat 17.5. To call a language 'extensible' normally implies that, in addition to the creation of variables, it allows for the definition of new procedures which, once defined, function just like any primitive of the system. LOGO - unlike BASIC - is an extensible language in this respect too. Click the the next page button see how procedure definitions are made.

Ron Brasington
Department of Linguistic Science
The University of Reading