Programming: General
Multiple languages (see individual downloads)
ZX Spectrum 48K

Theodora Wood
Chris Bourne


Sinclair Logo is the gateway to a new world. Theo Wood emabarks on a voyage of discovery.

THE ARRIVAL of the Sinclair version of Logo must be considered as the important event in the year as regards learning software.

Logo is the high level programming language developed at MIT - Massachusetts institute of Technology - by Seymour Papert and his associates. In his book Mindstorms Papert outlined the reasons for the importance of Logo; it provides an introduction to computing for young people in that by controlling the micro-world of the turtle they become actively involved in computing processes. Moreover, mathematical ideas, especially geometry, are made concrete rather than abstract. Logo can also involve those whose background is in the humanities and bring them into contact with a technology that would otherwise seem strange and alien.

Sinclair Logo has been developed by the same team, Logo Computer Systems Inc., who developed the original Apple version as well as the Atari and IBM PC versions and, later this year, the implementation for the BBC micro. The Sinclair version includes a cassette tape with the program and two ring bound manuals.

Logo I covers the use of turtle graphics and Logo II is a programmer's reference manual. There is also a Logo ready reference card. Logo is considered important in that, unlike Basic, it reinforces good programming techniques, encouraging the user to build a program through procedures rather than a spaghetti of GOTOs. That means a program can be structured by breaking each part into its smaller components before incorporating those into the larger structure of the complete program, reflecting the methods used in programming in the commercial world.

Once LOADed, Logo operates in three modes: Logo mode, TO mode and editing mode. In Logo mode any procedure or command such as BK 10, FD 10 - Back, Forward - will be executed on the screen immediately after ENTER has been pressed. That means that at a very early stage you can see the movements resulting from commands immediately and evaluate their success. There are two lines for commands and 22 lines for graphics.

The screen turtle takes the form of a triangle which shows the direction of the heading, although HT - Hide Turtle - will increase the speed at which the turtle can move around. Each procedure has to be started by the use of TO and the title of the procedure and, after this, each entry will be prompted by a > instead of the question mark for the Logo mode. Commands can be ENTERed until the end of the procedure, which is signified by END. The message will then come on the screen - for example, SQUARE defined. It is now possible to use SQUARE as a command in Logo mode.

The EDIT mode is entered by using the message ED "" followed by the name of the procedure to be edited. The editor is powerful; not only can the cursor be moved in all four directions by use of the cursor keys but there are many other useful features such as E MODE - extended mode - 5 which moves the cursor to the beginning of a line and E MODE E which moves the cursor to the end of the text. In that way the editing mode is rather like a word processing package which allows swift movement over a piece of text for correction purposes.

One factor which has importance is the memory space available for utilising Logo features. Logo sits between the addresses 24832 and 65024, its workspace comprising 2293 nodes each of 5 bytes. The command NODES will return the number of free nodes in the workspace. A simple SQUARE procedure - TO SQUARE, REPEAT 4 [FD 30 RT 90], END, requires 120 nodes, which means the workspace can cope with a large number of squares. Any procedures can be SAVEd, for later use and development, to either cassette or microdrive.

Just as the editing mode is relatively simple, so the error messages are easy to understand. 'I don't know how to..." will appear as an error message if the user ENTERs a named procedure in logo mode which has not been defined, and other error messages include 'Not enough inputs to ...' and 'Turtle out of field'.

Logo is a high-level computer language in that its commands are near to language as it is spoken in a shortened form. A list of some of the words used will show how simple the actual vocabulary of Logo is: SETPC - set pen colour followed by a Spectrum colour number; PD - pen down; ST - show turtle. The similarity to spoken language is the main appeal of Logo, as it makes the language more accessible.

That is not, however, the whole story because although the vocabulary is easy the grammar is difficult. It is necessary to observe certain rules in the use of the vocabulary, spaces have to be put in the appropriate places and square brackets have to be used in some circumstances. That means that there still is some learning to be done and attention must be paid to the correct entry of commands; it is no good typing BK30 as the error message will appear: 'I don't know how to BK 30'. There must be a space between BK and 30.

With graphics Logo does, on the whole, satisfy the criteria stipulated by Papert; it is a tool by which you can explore the world of geometry and learn by doing rather than by being told. It provides an entrance into the world of computer programming and inculcates good programming practice.

It is a mistake, however, to think of Logo as merely a learning tool for geometry. Sinclair Logo is the full implementation of the language, providing powerful list processing facilities. A list can be a group of words, other lists or both; for example [apple pear orange banana plum] is a list and a number of commands can be used to manipulate the words contained within the list. PR. - print - ITEM 3 (apple pear orange banana plum] will return orange, and PR LAST will return plum.

Logo has arithmetic functions which can operate in the infix form, where the signs + - * / are placed between the numbers, thus PR 6+789 returns 795. The prefix form also can be used for addition, division and multiplication where the words SUM, DIV or PRODUCT are placed before the two inputs, thus PR SUM 8 9 returns 17.

Logo is likely to be used in control situations without using machine code. Not only can a robotic device be controlled via the commands STARTROBOT and STOPROBOT, which causes the commands FD, BK and so on, to be executed by the device, but there is also the facility to monitor inputs and outputs. SERIALIN will read everything that arrives at the serial port and SERIALOUT will send a byte to the serial port - RS232 interface.

Logo 2, the programmers reference guide, is precisely what its title implies and it would seem that there will be a whole industry of new books based on interpreting and explaining the concepts contained in it. That would be a pity as, ideally, the Logo world should be explored without a phrase book; it is the process of discovery which is important rather than the end product.

Chapter Seven, Conditional expresSions and flow of control, illustrates the nature of the manual. Anyone who has learned some Basic has probably learned the IF command: IF a=5 THEN GOTO. The similar command in Logo is explained in the manual in the following way: IF pred instructio-list 1 instructionlist2. It is necessary to enclose the instruction lists in square brackets. That illustrates that it is misleading to think of Logo as always being more simple than Basic.

One notable feature missing in this version of Logo is the absence of the SPRITE function which both the Atari and the forthcoming BBC version have. That allows the user to piggyback a graphic onto a sprite and then set the speed. As well as having colour and sound the dimension of movement can be easily added, obviously an extra, exciting attraction. Clever programmers will probably use the facIlity to LOAD a machine code routine into the Logo workspace to overcome that lack but it makes the process more complicated. There is no blockfill command either.

Overall, Logo is the package which could become the programming language used throughout the school system and, when the examination boards recognise its use, there will be the extra motivation to buy it. Added to that is the fact that control packages are being developed by the Microelectronics Education Programme and the Open University which indicates that, as well as being the means by which users can explore geometric and mathematical concepts in an interactive way, they will also be able to control and manipulate, electronic devices.

The package costs £39.95 and consequently there is likely to be some price sensitivity to Logo in the home market, especially when considering the bottom line value of the medium - the cassette - on which it is produced.

Logo fully illustrates Paperts insistence that the emphasis should be on user control: forget about zapping answers in response to sums, control what is happening on the screen and at the end of the cable instead. Problem-solving becomes more interesting when the results can be seen immediately and are more spectacular, without the need for complicated Basic commands. Above all, once learned, Logo is a gateway to the complex world of mathematics and computer control.

Memory: 48K
Price: £39.95