GoLogo
A bilingual French-English Logo. You write, the turtle obeys.
GoLogo is for programming in Logo. Logo is a very simple programming language, invented for learning. At its heart is a little turtle shown on the screen : you give it orders (forward, turn, pen up...), it obeys and leaves a trail behind it. By steering it, you draw, and step by step you learn to program.
With GoLogo, you type a sentence and something happens at once.
FORWARD 100, and the turtle draws a line. Change the number, the
drawing changes. Make a mistake, you see it straight away. This immediate loop
(type, look, try again) is at the heart of Logo : the program stops being an
abstract idea and becomes a character you steer.
And the turtle does not stop at squares. With the same building blocks (loops, variables, procedures), you move on to fractals, animations and real little games.
GoLogo is an interpreter for the Logo language, built to run on today's computers without losing any of its original simplicity.
The language takes its cue from the French Logo of the 1980s home computers, in particular the Thomson MO5. It has since been extended to keep up with today's Logos and to offer more : music, mouse, files, iterators, error handling, recursion with no depth limit, and a good deal more.
GoLogo aims to recapture the look and feel of the 1984 SOLI Logo (the screen, the turtle, the spirit of the commands), but it is neither a clone nor an emulation : it does not replay the period code and does not reproduce the MO5 byte for byte. On the contrary, it carries this Logo well beyond what the machine of the time allowed : conveniences and extra instructions to stay compatible with other Logos, but also exact integers of unlimited size, real arrays, stacks and queues, reading and writing files, and enough muscle to carry heavy computations. The spirit stays that of a language you learn as a child ; the power, though, is now enough to solve real problems.
A little history
Logo was born in the late 1960s, where mathematics met education. We owe it above all to Seymour Papert, a mathematician who had worked alongside the psychologist Jean Piaget, together with Wally Feurzeig and Cynthia Solomon. Their idea was a new one : give children a real programming language, designed for them, where you learn by doing and experimenting. The turtle, steered step by step, became the symbol of that approach : a concrete object to think with, to make mistakes with, to start over with. Papert told the whole story in his book Mindstorms (1980).
GoLogo grows out of that tradition. It draws directly on the French Logo of the Thomson machines, both in its language and in its general look and feel. But so as not to stay locked in the 1980s, GoLogo adds an extended instruction set that opens up the full range of what the language can do.
What you can do with GoLogo
- Draw : the turtle traces geometric figures from your instructions, from the plainest square to the most intricate fractal.
- Program : you define your own procedures, create variables, build loops and conditionals, and combine them freely.
- Play with data : words, lists and numbers are handled with the same ease, and real arrays, stacks and queues take over when there is a lot to store.
- Compute exactly : exact integers of unlimited size (a giant factorial
comes out right, down to the last digit), and a way to show a number in hexadecimal or
binary (
HEX,BIN). - Make music : the
PLAYprimitive plays notes across several octaves, with a choice of timbre. - Interact : read the keyboard, query the mouse or joysticks, print text anywhere on the screen.
- Read and write files : your procedures and drawings are stored on disk and reloaded in the next session, and a program can read or write its own text files.
Who is it for?
GoLogo suits a child discovering programming just as well as an adult who wants to return to an environment they once knew on a school computer. The Logo language was designed from the start to be immediately approachable : every instruction has a visible effect at once, and you move naturally from the single command to the full program.
If you already know another Logo, you will find your bearings : GoLogo recognises most of the commands of the reference Logos.
Quick start
When it starts, the screen holds only the ? prompt : GoLogo
begins in text mode, and that is where you type your instructions.
GoLogo starts up in French. Type ENGLISH and press Enter to switch its
messages and help to English (FRANCAIS switches back). The commands work
in either language regardless.
To bring up the graphics area, type ST (SHOWTURTLE) and press
Enter :
? ST
The graphics area appears, and at its centre a small arrow-shaped character, the turtle :
The turtle holds a pen. As it moves, the pen leaves a trail behind it. Now type :
? FORWARD 100
The turtle moves forward 100 steps, drawing a line from its starting point. Here is the result : the turtle has moved up, and the line marks the path it travelled.
FORWARD 100 : the turtle goes up 100 steps and leaves a trail.
To draw a square in one go :
? REPEAT 4 [ FD 50 RT 90 ]
That is all. You have just written your first Logo program. The rest of this documentation shows you how to go further, at your own pace.
How this manual is organised
| Section | Contents |
|---|---|
| Getting started | How to launch GoLogo, use the REPL, type your first instructions, open the editor. A step-by-step guide for beginners. |
| The Logo language | A full introduction to the language : data, variables, procedures, loops, conditionals, graphics. The essentials for understanding and writing programs. |
| Example programs | A collection of annotated programs, from the simplest to the most elaborate, which you can copy and modify freely. |
| Interface & shortcuts | A description of the screen, the procedure editor, the help browser, and a full table of keyboard shortcuts. |
| All commands | A complete reference of GoLogo's ~150 instructions, organised by category, with parameters and examples. |
| Command index | An alphabetical list of every command and its aliases, with a link to the matching description. |
Conventions used in this manual
Logo instructions are written in upper case throughout this manual. There is no need to hold Shift : GoLogo automatically turns every character you type into upper case. This cuts down on mistakes and makes typing easier for younger users. Code examples appear on a dark background :
REPEAT 36 [ FD 10 RT 10 ]
Variable parameters are shown in italics : FD n means
you replace n with a number.
In the command tables, the type of each instruction is given :
- C (command) : produces an effect, returns no value.
- O (operation) : computes and returns a value.
- P (predicate) : returns
TRUEorFALSE.
About GoLogo
GoLogo - (C)2024-2026 Cyril LAMY. It is free software, distributed under the GPL v2 licence.
It is written in Go and builds on a few free libraries : Gio (cross-platform GUI) and oto (sound).
The documentation of the original SOLI Logo, consulted for this project, can be found on Daniel Coulom's Thomson emulator site, DCMOTO. To learn more about the Logo language and its history, see the Wikipedia article and the Logo Foundation website.