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 :

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.

GoLogo starts in text mode, showing only the ? 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.

KeyAction
EnterRuns the typed line
/ Moves through the history of the last 100 commands
/ Moves the cursor within the line
Home / EndGoes to the start / end of the line
Del / BackspaceDeletes the character under or before the cursor
TabAutocompletion: completes the current word (primitives + defined procedures)
Ctrl+CInterrupts the running program
Ctrl+EOpens the editor (when the line is empty)
Ctrl+QQuits GoLogo
F1Opens the beginner help (original SOLI Logo commands, full names)
Shift+F1Opens the full help (every command)

Autocompletion

Press Tab to complete a word as you type :

? 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 :

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

KeyAction
Ctrl+SSaves the content and interprets it (back to the REPL, procedures defined)
Ctrl+XQuits without saving (the content is lost)
F1Context help: opens the page for the word under the cursor if it exists, otherwise the beginner help
Shift+F1Opens the full help (every command)
Moves the cursor
Home / EndStart / end of the current line
Page Up / Page DownMoves the cursor up / down by one page
Ctrl+ASelects 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+arrowsExtends the selection
Ctrl+CCopies the selection to the clipboard
Ctrl+VPastes from the clipboard
DelDeletes the selection (or the character under the cursor)
Ctrl+ZUndoes the last action
Typing in the editor is automatically turned into upper case: this is a GoLogo choice (no need for the Shift key, fewer mistakes), not a rule of the Logo language.

A typical editor workflow

  1. At the REPL, type EDIT to open the editor.
  2. Write or change your procedures.
  3. Press Ctrl+S to validate. GoLogo interprets the code and returns to the REPL.
  4. Test your procedures at the REPL.
  5. If needed, reopen the editor with EDIT to fix or extend.
  6. Save to disk : SAVE "MYPROG CONTENTS.

The help browser

GoLogo has a built-in help browser, available :

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

KeyAction
/ Selects the previous / next command
Page Up / Page DownPrevious / next page in the grid
EnterShows the detail of the selected command
Ctrl+IInserts the selected command into the REPL (or the editor)
Ctrl+F or /Opens the search field
Ctrl+N / Ctrl+PNext / previous search result
Ctrl+LSwitches between English and French
F1 / Shift+F1Switches between the beginner help and the full help
A letter (AZ)Jumps to the first command starting with that letter
Q or EscCloses 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

On macOS, GoLogo follows the system convention : wherever this manual says Ctrl, use the (Command) key. For example +S to save in the editor. The status bars automatically show the right symbol for your system. On Linux and Windows it is Ctrl.
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.
ContextKeyAction
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 :

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.