Terrapin Resources

What’s New in Logo?

The current release of Terrapin Logo has evolved significantly from the previous release. We will keep the previous release of Terrapin Logo, so you can always switch between versions.

This chapter highlights the differences between both versions. We will call the previous version “Classic Logo”, while referring to the current release as “Logo” or even “Logo6”.

If you use the VER command to check the Logo version, Classic Logo version numbers begin with a “5”, while the current version of Logo begins with a “6”.

Click https://weblogo.terrapinlogo.com for Classic Logo.

Click https://logo6.terrapinlogo.com for the new release.

No More Desktop App

The desktop version of Logo has been discontinued. The desktop version for Classic Logo will still be available.

No More Menus

The menu bar has been removed, and the Icon Bar has been expanded to display the options that were availabe as menu items in Classic Logo. Therefore, the following Logo commands that used to handle menus and menu items have been removed:

APPENDMENU, APPENDMENUITEM, DELETEMENU, DELETEMENUITEM, FINDMENUID, and COMMAND

The Layout

The screen layout has changed from freely moveable panels to a predefined set of panels that can be arranged in a set of predefined layouts. Splitters between panels can be moved freely to resize each panel. Several Logo commands have been added to switch between layouts:

Command Explanation
TS The Listener occupies the entire screen.
FS The Graphics panel occupies the entire estate.
SS The Graphics panel occupies the upper part, and the Listener occupies the lower part of the screen.
SSV The Graphics panel occupies the left part, and the Listener occupies the right part of the screen.
ES Much like SS, and the Editor panel displays to the right of the other two panels.
ESV The Graphics panel is left, and the Editor and Listener panels share the right part of the screen. This is the default.
BS Much like ESV, but the Blocks and Graphics panels share the left part of the screen.
BSV Much like BS, but the Blocks and Graphics panels are arranged vertically.

Consequently, the variable :LAYOUT accepts a different list of values, but you can still use that variable to define a custom layout.

Editor and Listener

Both panels have been redesigned. The Listener now has a single input line at the bottom. Both editors have been enhanced with deep static code analysis; as soon as you type anything, Logo checks the entered code and flags any errors it can find without having to run the code. For example, if you use an invalid color name as input to the SETPC command, Logo flags the word as an error. You can double-click the error, and Logo displays a hint box with a short explanation along with a link to the full explanation of the command.

You can always double-click a command to highlight it, and Logo will display the explanation of this command.

Help

Help no longer just refers to the online help. Instead, it is a fully interactive dialog with all command and property description available at your fingertip. Code examples can be copied to the clipboard and pasted to the Editor or Listener.

Logo Language

Infix Operators as Logo Commands

Infix operators are not permitted as prefix commands anymore. This is an error: + 4 5. Use the respective Logo command instead as in SUM 4 5.

Relaxed Syntax

Logo does not support relaxed syntax anymore. For procedure declarations and variable names, you always need to use the leading colon character. Classic Logo permitted a procedure declaration like TO MYPROC COUNT, while the latest version needs the procedure declaration to be TO MYPROC :COUNT.

Debugger

The debugger has been rewritten. For runtime errors, it is disabled initially; you can change this behavior in the Settings dialog.

Logo Commands

PATHNAME does not report the OS name anymore.

UNDO and REDO have been removed.

CREATE.DIR, SELECT.FILE, and SELECT.FOLDER have been removed. These commands were almost never available for file I/O anyway.

Listbox callable properties

The callable properties of the Listbox widget have been renamed. To avoid confusion with other commands, all listbox callable properties have been prefixed with “LB”. This makes the property “ITEM” now “LBITEM”, which removes possible confusions with the ITEM command.

Widgets

The GRID widget has been removed, along with all grid related commands:

FILLGRID, GGET, GGETTEXT, GPPROP, GRIDDIMS, GSET, GSETTEXT, LISTGRID and SETGRIDDIMS.