Interface & shortcuts
GoLogo's screen, the procedure editor and the built-in help
An interface designed for learning
GoLogo's interface is no accident : every choice is meant to support learning, especially for younger users.
Full screen, a deliberate choice
GoLogo starts in full screen. This is not a technical constraint but a considered decision : when a child works in a window sitting on a full desktop, the icons, the notifications and the other programs are so many distractions and temptations. By filling the whole screen, GoLogo puts the learner in a state of focus, alone with the turtle and its instructions.
The experienced user keeps control : the -w argument on the
command line runs GoLogo in a window, handy for development or for keeping an eye on
other tools.
Typing real instructions
With GoLogo, you write your programs line by line, at the keyboard. The child thus learns two things at once : the algorithmics (how to break down a problem, repeat, decide) and the act of programming for real, typing instructions and reading back what they wrote. It is a skill that carries over to any programming language.
Getting used to reading documentation
GoLogo's detailed help is consulted right in the text terminal, at the keyboard. By practising it, the learner gets used to reading and searching written documentation, rather than following a video tutorial.
Getting comfortable with keyboard shortcuts
GoLogo also familiarises the child with keyboard shortcuts. The essential ones are always shown in the status bar, at the bottom of the screen : no need to learn them by heart to get started. Other shortcuts, meant for more confident users, exist and are gathered in the summary further down this page.
On macOS : every shortcut uses the Cmd (⌘) key instead of Ctrl : read Cmd+S, Cmd+Q, Cmd+C, and so on (the status bar shows “Cmd”). Ctrl+C stays the “interrupt a running program” key on every platform.
The spirit of the 80s, the comfort of today
The interface takes its cue from that of SOLI Logo and the Logos of the 1980s home
computers : the ? prompt, the split graphics-and-text screen, the
blue and cyan colours. But it adds modern comfort : copy and paste, full-text
search in the help and navigation between results, autocompletion, command history.
You get the original feel without giving up today's habits.
GoLogo's screen
GoLogo lays out the display in two areas :
- The graphics field (top) : the turtle's workspace. Blue background at startup. Logical size : 1600 × 1000 steps, origin at the centre (x from −800 to +800, y from −500 to +500).
- The text area (bottom) : GoLogo's messages and the input
line with the
?prompt. By default it takes up 4 lines. TheSETTEXTLINES ncommand adjusts this number (1 to 25).
With SETTEXTLINES 25, the graphics field disappears and the text area
fills the whole screen, handy for printing tables or text. With
SETTEXTLINES 4 (the default) you return to mixed mode.
? prompt. The graphics
field appears as soon as you run ST (SHOWTURTLE) or any drawing
command.
The turtle
The little figure in the centre is the turtle. Its shape can be changed with
SPRITE n : SPRITE 0 = triangle (default),
SPRITE 1 = detailed turtle, SPRITE 2 = car.
The REPL (command line)
The REPL is the input line at the bottom of the screen. That is where you converse with GoLogo interactively.
| Key | Action |
|---|---|
| Enter | Runs the typed line |
| ↑ / ↓ | Moves through the history of the last 100 commands |
| ← / → | Moves the cursor within the line |
| Home / End | Goes to the start / end of the line |
| Del / Backspace | Deletes the character under or before the cursor |
| Tab | Autocompletion: completes the current word (primitives + defined procedures) |
| Ctrl+C | Interrupts the running program |
| Ctrl+E | Opens the editor (when the line is empty) |
| Ctrl+Q | Quits GoLogo |
| F1 | Opens the beginner help (original SOLI Logo commands, full names) |
| Shift+F1 | Opens the full help (every command) |
Autocompletion
Press Tab to complete a word as you type :
- If there is only one possibility, the word is completed and a space is added automatically.
- If there are several, GoLogo completes the common prefix and lists the candidates. Press Tab again to pick one.
? REP[Tab] -> REPEAT (unique)
The procedure editor
The full-screen editor is where you write programs made of several procedures. You
open it with EDIT or Ctrl+E (when the input line is
empty).
Ways to open it :
EDIT: reopens the content of the last editing session.EDIT "SQUARE: loads the definition of the SQUARE procedure.EDIT [ SQUARE POLY ]: loads several procedures.EDIT [ ]: opens an empty editor.
In the editor, the screen is split in two : the editing area (blue background) and a status bar at the bottom (cyan) that recalls the main shortcuts.
Editor shortcuts
| Key | Action |
|---|---|
| Ctrl+S | Saves the content and interprets it (back to the REPL, procedures defined) |
| Ctrl+X | Quits without saving (the content is lost) |
| F1 | Context help: opens the page for the word under the cursor if it exists, otherwise the beginner help |
| Shift+F1 | Opens the full help (every command) |
| ↑ ↓ ← → | Moves the cursor |
| Home / End | Start / end of the current line |
| Page Up / Page Down | Moves the cursor up / down by one page |
| Ctrl+A | Selects all the text |
| Ctrl+T (⌘+T on Mac) | Translates every instruction in the program to English; pressing again translates them back to French, and so on (toggles each press). Data, procedure names and comments are left untouched. |
| Shift+arrows | Extends the selection |
| Ctrl+C | Copies the selection to the clipboard |
| Ctrl+V | Pastes from the clipboard |
| Del | Deletes the selection (or the character under the cursor) |
| Ctrl+Z | Undoes the last action |
A typical editor workflow
- At the REPL, type
EDITto open the editor. - Write or change your procedures.
- Press Ctrl+S to validate. GoLogo interprets the code and returns to the REPL.
- Test your procedures at the REPL.
- If needed, reopen the editor with
EDITto fix or extend. - Save to disk :
SAVE "MYPROG CONTENTS.
The help browser
GoLogo has a built-in help browser, available :
- through the
HELPorHELP NAMEcommand at the REPL. - through F1 (beginner help) or Shift+F1 (full help) from the REPL or the editor.
The browser fills the screen, with the grid of commands and the detail of the selected command.
Beginner help and full help
F1 opens the beginner help : it lists only the
original commands of SOLI Logo, under their full name (for example
HIDETURTLE rather than HT, or SQRT rather
than RC), so as not to overwhelm the beginner.
Shift+F1 opens the full help : every
primitive, including the modern extensions (the HELP command also opens
the full help). You can switch from one to the other at any time, without leaving the
help, with F1 / Shift+F1 ; the footer recalls the
key for the other view.
Help browser shortcuts
| Key | Action |
|---|---|
| ↑ / ↓ | Selects the previous / next command |
| Page Up / Page Down | Previous / next page in the grid |
| Enter | Shows the detail of the selected command |
| Ctrl+I | Inserts the selected command into the REPL (or the editor) |
| Ctrl+F or / | Opens the search field |
| Ctrl+N / Ctrl+P | Next / previous search result |
| Ctrl+L | Switches between English and French |
| F1 / Shift+F1 | Switches between the beginner help and the full help |
| A letter (A…Z) | Jumps to the first command starting with that letter |
| Q or Esc | Closes the help |
Searching the help
Press Ctrl+F (or /) to open the search field. Type a word, confirm with Enter : the commands whose page contains that word are shown in yellow in the grid. Ctrl+N and Ctrl+P move between the results.
Context F1 in the editor
From the editor, F1 detects the word under the cursor and opens its help
page directly. For instance, if the cursor is on the word REPEAT, the
page for REPEAT appears. If the word is not a known command, the general
help opens instead.
Summary of global shortcuts
One exception : Ctrl+C, which interrupts a running program, stays Ctrl+C on every platform (the universal "stop" convention). So on a Mac, ⌘+C copies and Ctrl+C stops.
| Context | Key | Action |
|---|---|---|
| Everywhere | Ctrl+C | Interrupts the running program |
| Ctrl+Q | Quits GoLogo (except in the editor, where it has no effect) | |
| F1 | Opens the beginner help (context-aware in the editor) | |
| Shift+F1 | Opens the full help (every command) | |
| Ctrl+L | Switches FR/EN (in the help browser) | |
| Numeric keypad | Works normally (0–9, . , /, *, -, +) | |
| Arrow keys | Emulate joystick 0 (up/down/left/right) + space bar = button | |
| REPL | Tab | Autocompletes the current command |
| ↑ / ↓ | Command history (last 100) | |
| Ctrl+E | Opens the editor (when the line is empty) | |
| Editor | Ctrl+S | Saves and interprets |
| Ctrl+X | Quits without saving | |
| Ctrl+A | Selects all | |
| Ctrl+Z | Undo | |
| F1 | Context help on the word under the cursor | |
| Help | F1 / Shift+F1 | Toggle beginner help / full help |
| Ctrl+F / / | Full-text search | |
| Ctrl+N / Ctrl+P | Next / previous result | |
| Ctrl+I | Inserts the command into the REPL or the editor | |
| Q / Esc | Closes the help |
Game joysticks
The JOYSTICK and BUTTON? primitives existed on the
original Logo for reading a game joystick. GoLogo keeps them for compatibility, but
always makes them respond to the keyboard : there is no reading
of a physical joystick, even if one is connected :
- The arrow keys → direction of joystick 0 (1 = up, 3 = right, 5 = down, 7 = left, plus the diagonals).
- Space → fire button of joystick 0.
WHILE [ NOT BUTTON? 0 ] [
MAKE "DIR JOYSTICK 0
IF :DIR = 1 [ FD 5 ] ; up
IF :DIR = 3 [ RT 5 ] ; right
IF :DIR = 5 [ BK 5 ] ; down
IF :DIR = 7 [ LT 5 ] ; left
WAIT 1
]
English and French
GoLogo understands both English and French command names. You can
write FORWARD 100 or AVANCE 100, REPEAT 4 […]
or REPETE 4 […] : GoLogo accepts both.
The help and the error messages can be shown in either language :
FRENCH ; switches help and messages to French
ENGLISH ; switches back to English
In the help browser, Ctrl+L switches the language on the fly without leaving the help.