Logo Programming Language Implementations

Logo programming language implementations

I'm teaching my kids LOGO successfully on Windows using Elica LOGO. (Kids ages are presently 12 and 10.)

The package's strengths include many "advanced" extensions, beyond the basic 2-dimensional turtle. These include 3-D graphics and simple hooks into the Windows widget world. (You can create Windows forms with buttons, etc., from within your LOGO code.)

Lacks sound/music capability, at least in version 5.5, and the built-in documentation is extensive, with many advanced examples, but it's not very useful in my opinion--due to its incompleteness, and its having many coding examples that contain errors. (But my kids learn more by finding the errors in the programing samples.)

What is the current status of LOGO? (The programming language)


Yeah, I know. Nowadays this language
is a bit antique but I got some warm
and comfortable memories when I
remembered this interesting language
from my history. For a teenager back
then, it was fun!

Geez, you must be old!

Just kidding … I do think all the information on Wikipedia is still accurate.

I also do think it is a dead language (or that it should be at least). As for the question about other experts who experienced it … I don't think it ever was a really used language. Maybe a bit at school, but still I think there's some better alternatives, so I think people who got to code using LOGO must be rare. Good luck with that.


After looking it up, it does seem like it was still used quite a bit in university for robotic programming.

EBNF or BNF for the LOGO programming language

A BNF grammar might not be too useful in certain circumstances...

Writing a LOGO that's accurately compatible with existing/historical implementation isn't an easy task (I worked on such a project). The problem is that the parser doesn't do the full job, and the evaluator (interpreter) has to work with partial data. Consider this example:

proc1 a b proc2 c

It could mean proc1(a, b, proc2(c)) or proc1(a, b, proc2(), c) according to the number of parameters for proc1 & proc2.

Furthermore the LOGO interpreters I know, for example Berkely LOGO, seem from a cursory glance not to write a traditional parser that additionally has access to each procedure and its arity; instead they run the procedures and the procedures 'eat up' the number of parameters that they need. This makes the parser a little naive and the main role is that of an interpreter, and thus parsing is kind of unusual.

Are there any open source/free LOGO implementations that support dynaturtles?

Digging around a bit online, I've found OpenStarLogo. Though they don't specifically mention "dynaturtles" the docs do mention collision detection. The site has code and documentation downloads.

From this wikipedia article, under the Implementations section, there is a PDF listing known current and antique implementations. Some of these, such as StarLogo TNG and Elica have support for 3D objects. These are definitely not like the LOGO programs I wrote as a kid...



Related Topics



Leave a reply



Submit