What's this?

This is Curly Logo. It's a browser based implementation of the Logo programming language.

The style of Curly Logo is deliberately intended to be similar to the Logos that were available for the many microcomputers of the 1980's, and in particular Logotron Logo for Acorn's BBC microcomputer.

In order to see it working, I recommend you use Google Chrome. In principle I'd like to see it working in Firefox, but the mysteries of DIV and SVG box model interactions are beyond me. Pull requests accepted.

Curly Logo's turtle should be visible in the upper half the window, and a text area should be visible in the lower half. At the bottom of the text area is a space for you to type Logo commands. If you haven't tried Logo before you could try typing some of the following:

fd 100 rt 90
Moves the turtle forward and turns it.
repeat 3 [ fd 100 rt 90 ]
Completes the square started by the previous command.
cs repeat 7 [ setpw 2 * repcount setpc repcount fd 50 rt 360 / 7 ]
A septagon using the 7 colours of the rainbow and a varying pen width

More demonstrations are available in the Curly Logo Gallery.

Curly Logo uses an esoteric mix of buzzwords that 7 years on still seems to fall into an unexplored gap in cross-browser compatiblity: XML, XHTML, SVG, CSS, and JavaScript. In 2007 it was tricky to find a browser that it worked in, and it still is.

You do not need an internet connexion; once you have downloaded the Curly Logo page and associated JavaScript pages, Curly Logo does not use the network. That means you can save the page and reload it later from your local disk. Curly Logo is not a AJAX application (it is a JAX application), it does not evaluate anything by sending it to a server and expecting a response; all computation and display is performed locally in the web browser by executing JavaScript.

Curly Logo has some features that are not commonly found in other Logo implementations. Some of them are unique to Curly Logo:

Anti-aliased output
Notice how when the turtle draws a line at angle (for example "home rt 40 fd 90") it does not appear jaggy. The lines are drawn using SVG paths and they should be rendered using a high quality anti-aliasing algorithm. It's the 21st century, this is only natural.
Calculator style operators
You can use ÷ for division and × for multiplication. We are (generally) taught the symbols for these operations in primary school, but they are rarely seen on a computer. On a Mac, on the english keyboard layouts I've tried, you can get ÷ by typing Alt-/. π (Alt-p) is also supported. It turns out that OLPC's XO keyboard has a key for × and ÷, and it just works.
Tooltips
Hovering over a word in the text area will generally give you brief popup, tooltip style, documentation.

Curly Logo is produced from natural gritstone by David Jones (email drj@pobox.com or tweet @drjtwit). Source code is maintained at github.com/drj11/curlylogo. Curly Logo features in some of his blog articles.