The Project...


Pavel Boytchev proposed The Logo Atlas on the LogoForum in November 2003. We were all very excited, and there was a some discussion as to the format it should take and its purpose which I have gathered together in the subpage below.

Well, this is it- it exists! Of course there are better formats- of course I am being presumptious.

So some technical detail.

This site is powered by a PHP content management system (cmsimple) written in Denmark under a AGPL licence. The content is stored in one html file, so it can be uploaded on request and viewed as a single document, which was one of the requirements of the project.

Cmsimple allows the full range of HTML4.01 tags, with one neat twist, The tags <-h1 /><-h2 /><-h3> are used to force page breaks-and the page titles you see in the left panel menu. The author is left with <-h4 /><-h5 /><-h6> for on page formatting.

Text submitted is easiest to use if it is in 'Semantic HTML'- ie without <-font style= tags>

Cmsimple has a search box- allowing the user search for say 'multimedia'. Another requirement of the project.

CMSimple uses formatting templates so appearance is independant of text- and can be changes at will.


One of the hanging points was we all agreed to use Apple Logo as a standard- but no one had a copy of the manual. While we are waiting for one I have scanned the appendices of a couple of books I have borrowed. These may do. The missing Apple II Manual.

All discussion of these pages will take place on the Logo Forum

So what have I done


I believe that this fulfils all the requirements posted and can become the source document needed- or eventually easily modded.


Everything on these pages is changeable. If you claim copyright for some thing you find here- email me and credit will be given or it can be removed. Designers and authors are encouraged to participate.

How to Contribute:

1. I need- comments posted to the forum to establish that this is a good idea. I don't want to establish another 'backwater'. Positive comments please.
2. Any immediate changes- email the changes to me via the mailform. I am logging the changes on my local host, and will FTP the new file across regularly.

When the project has been accepted. ( Deadline 14 March)
1. I will establish a 'white list' of contributor to whom I will email the editing password.
2. Contributers will log on and change the text directly.
3. This is a single editor system- so you need to check the Last Update time to see if anyone else is active. I only envisage 10 or so active contributers so I think this restriction is acceptable.

When the project is mature- I am guided by the will of the forum.


Impressum


Clem Rutter,
65 Weston Road, Strood,
ROCHESTER, Kent
GB- ME2 3HB
Website: http://www.rutter.uklinux.net

+44 1634 715473
logoatlas-AT-frindsbury-DOT-force9-DOT-org-DOT-uk
Skype:







Aims

The Idea

From: Pavel Boytchev
Date: Sat Nov 29, 2003 1:46 am
Subject: Logo Atlast (A Logo Spec Alternative)

THE LOGO LANGUAGE ATLAS

The idea is simple (it hovered in LogoForum/comp.lang.logo
posts some time ago). The Atlas will enumerate *and*
compare features of all non-dead Logo implementations.
This is not a specification, but can be used to:

[1] Show similarities/differences between implementations
[2] Make Logo source translation from one implementation
to another much easier
[3] Make learning other implementaiton easier
[4] Serve as a cross-reference of available features
[5] Help users to select which Logo impl. to use
[6] Show designers of new Logo dialects what designs
have been implemented so far

Additionally we may include dead Logos in the Atlas,
but there might be a problem to find trusted source of
information about them.

Comments


[7] So, the standard may fix that every implementatioh shoud have at least one of these two commands:
MAKE
SET

but any implementation is free to add other out-of-standard forms.
(You see, in the example above I've included SET not because of
UCBLogo, but because of NetLogo -- if we never compare
implementations, we can never find the common in them)

[8.1] Help people find current versions best suited to their interest.

[8.2] Motivate more people to contribute in some fashion to the
development of Logo. We're lucky so relatively few have done so
much.

[8.3] It might attract a commercial developer (well, it might!).

[8.4] Stimulate ideas as to how many interests could be effectively
addressed within a single package.

[8.5] Spark interest in creating an entirely new Logo.

The 2006 Dream

[9] I'd like to be able to look for a specific primitive and see in what Logos it does exist and in what Logos it does not exist (and how to rebuild or simulate it).

[10] I'd like to be able to look for functionality and then find how this can be achieved in different dialects (i.e. a database of algorithms with different styles, comments, etc).

[11] I'd like to see information how to migrate a program from one Logo to another.

[12] I'd like to see lots of examples.

[13] I'd like to see lots of how-tos.

[14] I'd like to see lots of tricks,

[15] I'd like to see lots of several special applications that we could proudly show to other and say "See what can be done in Logo and see how it is done"

[15] I'd like to find in the Logo Atlas discussions/ descriptions/ example of varying programming styles in Logo.
For example algorithms realized with recursion and iteration; example of dynamic scope and static scope

[16] I'd like to find FAQ about Logo, pointers to Logo resources, the Logo Tree (as a poster format) and as interactive program, Logo adventures, the Brian's bible, a collection of papers about Logo, etc. etc.

Do I want too much?


Methodology

[1]So, maybe the way to get the atlas going is to work out a set of
questions to be answered for each implementation. Some specific
ones have come up here, but there are other questions about, for
example, the set of primitives -- Does this version have 3D graphics?
Does it have dynamic turtles?

Topics
*scope (default: dynamic)
*tokenization (no default)
*turtle shape (default: turtle that rotates?)
*multiple turtles (default: no)
*dynamic turtles (default: no)
*3D (default: no)
*shape editor (default: no)
*platform (no default)
*OOP (default: no)
*pen control (default: PU, PD, PE, PX)
*colors (default: color numbers (SETPC 7))


[2] Of course the other approach would be just to collect user
manuals, which at least some of us already have online. That
would certainly be the easiest thing for me! :-) But I think
it would make the atlas less useful for comparisons.

[3] As I think about the Atlas, I think that it is better if it is organized by feature. For example,
  • one chapter about the history of Logo.
  • one with short descriptions of presented Logos.
  • one chapter (or a volume) about the main feature of Logos,
  • one chapter (or volume) of advanced features of Logo. one chapter(or volume)on Turtle graphics

Each feature will be devided into subfeatures and each of them will include data about all Logos that support that subfeature. For example,

  • the feature "Variables"
  • may have a subfeature "Creating variables"
  • with subsubfeature "Creating Global Variables",
  • maybe subsubsubfeatures
  • then comes a description how global variables are created in various Logo dialects. If a dialect is not descriped fo a particular (sub)-feature, then it is supposed that this dialect does not support this feature.

In this way, sorting things by feature (rather then by implementation) will help users to compare Logos, to translate one Logo into another, etc. For example see Elica's OOP s.

[4] Obviously to prepare the Atlas we need to collect the features of each Logo that will be included in the Atlas.

[5] I think that the Atlas should be handle distro versions, so when, for example UCBLogo becomes an OOP Logo then it will appear in the chapter with OO features.

[6] The collection of features is important, because in this way it will be possible to find out what features are most commonly use and what are unique extensions.

[7] When we have the set of features, it will be posibble to categorize (group) them, thus making the global structure of the Atlas

[8] I actually propose is to design the Atlas in top-down approach.

[9] The other way to do this would be to have a template of some sort (like in outline form) that gets filled in for each Logo. So there'd be a
Elica section, a PyLogo section, a Apple Logo section, and so on.

[10] Either way, each Logo should also have a "what makes me different" kind of section, that explains in an entirely free-form narrative what that version is attempting to do within the overall environment. Like OOP in Elica (or is it something else?), or parallelism in StarLogo, while Microworlds might be more about fitting into a larger curriculum or
being immediately appealing to children.

[11] Some specific things a Knowledge Base would allow:

Variable length data, even graphics, in all fields
Missing data - to be added over time
Reference to the sources of each piece of knowledge
+
Questions
- Users allowed to leave questions
- To be answered by:
Other users
Developers
Users to create 'filters' of what is important to them
Also, how they want it displayed/printed out
Language Extensions, i.e. Libraries like Daniel's LogoFE
At some point, even version info could be included
Other user libraries, either pointed to or even included
Synonyms, so users can ask questions in their own terminology
Projects - small, large, and even just proposed




-------------------------------------------------------------------

Brian's Proposed Outline by Feature Structure


To try to get this project off the ground, I propose the structure
of the UCBLogo manual as the outline by feature:

Entering and Leaving Logo
Tokenization
Data Structure Primitives
Constructors
Selectors
Mutators
Predicates
Queries
Communication
Transmitters
Receivers
File Access
Terminal Access
Arithmetic
Numeric Operations
Predicates
Random Numbers
Print Formatting
Bitwise Operations
Logical Operations
Graphics
Turtle Motion
Turtle Motion Queries
Turtle and Window Control
Turtle and Window Queries
Pen and Background Control
Pen Queries
Workspace Management
Procedure Definition
Variable Definition
Property Lists
Predicates
Queries
Inspection
Workspace Control
Control Structures
Template-Based Iteration
Macros
Error Processing
Error Codes
Special Variables

The Logo Forum 'Atlas' Thread


From: Pavel Boytchev
Date: Sat Nov 29, 2003 1:46 am
Subject: Logo Atlast (A Logo Spec Alternative)

THE LOGO LANGUAGE ATLAS

The idea is simple (it hovered in LogoForum/comp.lang.logo
posts some time ago). The Atlas will enumerate *and*
compare features of all non-dead Logo implementations.
This is not a specification, but can be used to:

[1] Show similarities/differences between implementations
[2] Make Logo source translation from one implementation
to another much easier
[3] Make learning other implementaiton easier
[4] Serve as a cross-reference of available features
[5] Help users to select which Logo impl. to use
[6] Show designers of new Logo dialects what designs
have been implemented so far

Additionally we may include dead Logos in the Atlas,
but there might be a problem to find trusted source of
information about them.

-------------------------------------------------------------------

If we write a Logo standard, then it should be non-restrictive. It
will contain description of the things that make Logo a Logo, and
will mark areas of non-standard language extensions. So, the
standard may fix that every implementatioh shoud have at least
one of these two commands:
MAKE
SET

but any implementation is free to add other out-of-standard forms.
(You see, in the example above I've included SET not because of
UCBLogo, but because of NetLogo -- if we never compare
implementations, we can never find the common in them)

As for the Logo with extended music capabilities, I think we
have to face the reality -- at a beginning the standard may cover
just the actively developed and used implementations. There is
no need to cover anything that is dead, frozen, unused or runs
on outdated hardware.

[2] As an alternative to the Logo standard I suggested a Logo
Language Atlas -- a description of all contemporary Logo
implementations. I described this idea in a previous mail of mine.

[3] Who will benefit from a standard or from an atlas? I think
many of us -- I'm sure that if such a thing is made, you will be
quite qurious to see it !!!

[4] The fact that once upon a time an attempt to standartize
Logo has failed can only inspire me. Things change and evolve.
Minds and ideas change and evolve too. If someone fails to
reach a goal, is does not mean that noone else should try
again.

[5] As Elica designer I am willing to do some compromise.
If we decide that SET should be used as MAKEQ, than I'm
ready to change Elica (becuase it currently uses SET for another
thing). So making a standard does not only require efforts, but
a lot of compromise. If noone is ready for a compromise, then
Logo is still in its childhood.

[6] As an alternative, we could make the atlas. In this case noone will
be hurt, no Logo should be changed, and everybody will be happy.

[7] As for adding new features/commands/syntax elements -- every
implementator is free to do this and to experiment with new forms
of Logo dialect. The existance of a Standard or an Atlas can only
help such efforts and serve as a guide.

[8] While collecting information for the Logo Tree the biggest problem
is the lack of information. It is virtually broken into small pieces
spread in the minds of many people -- there is no any single ultimate
source of Logo -- and there will never be such if we continue to
be PLEUDO-members of a Logo PSEUDO-family.

This is a remind for all of you -- please, look at the Logo Tree,
and if you know something about a Logo implementation
that is not mentioned there, let me know!!! Please!!! Noone
alone can do this -- the goal can be completed if we combine
our efforts.

The latest version of the Logo Tree is located in:
http://www.elica.net/download/papers/LogoTreeProject.pdf
------------------------------------------------------------------------

The message below is being cross-posted from comp.lang.logo. Please
reply to LogoForum@yahoogroups.com or (Brian Harvey)
.

My apologies -- I didn't mean to attack the atlas idea, which
I think is terrific. It's just the single standard that I find
dubious. (In many ways I wish there were a standard, but all the
reasons it didn't work before, when I tried to get people together
on one, still hold, imho.)

So, maybe the way to get the atlas going is to work out a set of
questions to be answered for each implementation. Some specific
ones have come up here, but there are other questions about, for
example, the set of primitives -- Does this version have 3D graphics?
Does it have dynamic turtles? Etc.

>For me it appears that the Logo community
>is either too young for a Logo standard,
>or has overgrown the time for its building.
>(or simply doesn't care)

I think there are good reasons why a language with Logo's mission
feels less need for standardization than a language like C or Java.
In those production languages, portability is really important,
as is the need to establish that a program is correctly written.
With Logo, what's important is the process of programming rather
than the product, the finished program.

More recent languages (like Python, Java, and even Smalltalk)
have been the work of one person, or a small group, and come
out of the womb with a standard already written. But Logo,
like Lisp, entered the world as an implementation and a set of
ideas, which were reimplemented by a zillion people in a
zillion places. It's pretty remarkable that 40 years later
people are still coming up with new implementations and new
ideas for improvement!

-Brian

What sorts of projects do you (any you will do)want to use a version
of Logo for? It could be beneficial for the entire community to
have a list of the things that people are interested in.

For myself:

Go (Chinese strategic/tactical board game. Simple rules resulting
in complex scenarios). I love the game.

studying mathematics, physics (classical and quantum)

Logo scripting engine, along the lines of vbscript, jscript, etc.
Not strictly for browsers.

Logo pocket computer

Logo compiler (though I might never use it I've seen this mentioned)

Real time star maps (how many turtles in NetLogo & StarLogo (just
thought of this one. Kind of exciting)

Modelling neural nets and nervous nets (Mark Tilden)
___
I think many would agree that Logo for scripting woudld be nice and
Logo in your pocket would be great. I asked one of the commercial
houses about it for Pocket PC. $150,000 just to start work on
developing it, not completing it. Not enough demand they said.
Personally I think every PPC should have a copy preinstalled. If it
were available I'd spend $50 today without a second thought.
Especially if it was integrated with Excel.
___
Alongside the Logo Atlas/Tree such a list could:

1) Help people find current versions best suited to their interest.

2) Motivate more people to contribute in some fashion to the
development of Logo. We're lucky so relatively few have done so
much.

3) It might attract a commercial developer (well, it might!).

4) Stimulate ideas as to how many interests could be effectively
addressed within a single package.

5) Spark interest in creating an entirely new Logo.

At this point I do not feel a poll would be appropriate.
I suspect that we would find the largest interest would be for
educational use ( a very real use). It is to be expected as so many
here use it in that capacity. It would be nice to read about
education/learning/exploring AND other uses.

-Alex


--------------------------------------------------------------------
I see there are no negative comments about The Logo Atlas.
So, the question is whether there is enough willingness to actually start writing it.
I checked the active Logo implementations in the Logo tree.

Logos that have a new version in 2003 are:
E-Slate Logo
* Elica
Microworlds EX
* NetLogo
ProLOGO
PyLogo
Terrapin Logo
TurtleTracks.net
UCBLogo

Logos with a last new version in 2002 are:
ACSLogo
AJLogo
Doolitle
Graphic Logo
Helios
Imagine
Logo Graphico
MonoLOGO
MSWLogo
StarLogo
TKTSLogo
VLogo
VRMath

Logos with no data about their last version (but declared as active):
PIC Logo
Rabbit Logo
Win-Logo


(PS. The asterix infront a Logo implementation means that there is a person who agrees to describe that version in the Logo Atlas)

.



Sure, I'll do UCBLogo. But what does "describe" mean? Don't we
need a template? We don't want people to end up describing at
length the things all Logos have in common.

Topics that I remember coming up recently:

*scope (default: dynamic)
*tokenization (no default)
*turtle shape (default: turtle that rotates?)
*multiple turtles (default: no)
*dynamic turtles (default: no)
*3D (default: no)
*shape editor (default: no)
*platform (no default)
*OOP (default: no)
*pen control (default: PU, PD, PE, PX)
*colors (default: color numbers (SETPC 7))

The defaults above were chosen with the idea that this is the
case for which there is nothing interesting to say. For
example, probably most versions have multiple turtles, but
how many turtles are allowed varies a lot, so each of those
should say, whereas single-turtle versions can leave that out.
For turtle shape, the triangle and the turtle are both simple
to describe, so I chose what I think is most popular as the
default.

Then of course there are the things specific to one version,
such as Elica's user-defined infix operators. There's no
point trying to list all those in the template; they just go
in the Other category.

I suppose one way to do it would be to pick a quasi-standard
implementation and say "describe how you differ from this one."
If we did that, I'd nominate LCSI Apple Logo II, which is
sort of the last "ordinary" Logo before people started inventing
things like OOP, the page metaphor, etc. If people like that
idea, I'd dig out my manual and post its primitive list.

----------

Of course the other approach would be just to collect user
manuals, which at least some of us already have online. That
would certainly be the easiest thing for me! :-) But I think
it would make the atlas less useful for comparisons.

-Brian

------------------------------------------------------------------

Fri Dec 12, 2003 3:44 am
Subject: Re: [LogoForum] Logo Atlas (A Logo Spec Alternative) elicateam
Offline Offline
Send Email Send Email
Invite to Yahoo! 360s Invite to Yahoo! 360s
"John St. Clair" wrote:
> Sure, I'll do UCBLogo. But what does "describe" mean? Don't we
> need a template? We don't want people to end up describing at
> length the things all Logos have in common.
I was thinking about the same issue recently and came up to the same ideas as you. Just a collection of manuals is not that useful (and is just a collection -- something different from an atlas). As I think about the Atlas, I think that it is better if it is organized by feature. For example, there might be one chapter about the history of Logo. And another one with short descriptions of presented Logos. Then a chapter (or a volume) about the main feature of Logos, and then another chapter (or volume) of advanced features of Logo. Maybe the Turtle graphics should be a chapter(volume) by itself...

Each feature will be devided into subfeatures and each of them will include data about all Logos that support that subfeature. For example, the feature "Variables" may have a subfeature "Creating variables" with subsubfeature "Creating Global Variables", and then (if there are no subsubsubfeatures) comes a description how global variables are created in various Logo dialects. If a dialect is not descriped fo a particular (sub)^n-feature, then it is supposed that this dialect does not support this feature.

In this way, sorting things by feature (rather then by implementation) will help users to compare Logos, to translate one Logo into another, etc. For example, the document that I'm still wrting for Elica's OOP has similar structure (it is attached at the end of the mail). Of course it is tuned for Elica, so read it just as an illustration of what I mean by 'feature'. Obviously to prepare the Atlas we need to collect the features of each Logo that will be included in the Atlas. However, I think that the Atlas should be opened for editions, so when, for example UCBLogo becomes an OOP Logo then it will appear in the chapter with OO features.

The collection of features is important, because in this way it will be possible to find out what features are most commonly use and what are unique extensions. Obviously the OOP should be in the advanced features, as long as it is not generally supported. When we have the set of features, it will be posibble to categorize (group) them, thus making the global structure of the Atlas (so, what I actually propose is to design the Atlas in top-to-bottom approach).

Oh, just to add, the Atlas will be a nice home for the Logo Tree Project.

The current situation is: there are people who what to join the Atlas and provide info about (alphabetical order): Elica, NetLogo, Terrapin Logo, and UCBLogo. Any others? George? Ian? Peter at al.? AJ?



FYI: here is the list of features in Elica's NOOP:

1. variables
a) creating variables
b) using variables
c) executing variables
2. objects
a) creating objects
- by assignment
- field by field
- by modification
- from classes
b) destroying objects
- automatic
- manual
c) other operation with objects
- identifying the class of an object
- nested objects
- graphical objects
3. classes
a) class definition
- functional definition
- natural definition
b) polymorphism
c) inheritance
- class inheritance
- conditional inheritance
- multple inheritance
d) methods
- overwritten
- abstract
4. other applications of variables
a) attributes
b) static variables
c) libraries
- loading libraries
- defining libraries
d) arrays
- array notation
- associative arrays
e) databases
f) sets
g) indirect access



-------------------------------------------------------------------------------------------


The other way to do this would be to have a template of some sort (like
in outline form) that gets filled in for each Logo. So there'd be a
Elica section, a PyLogo section, a Apple Logo section, and so on.

Both are potentially useful -- in your model you could easily survey the
diversity of implementations for certain feature sets, and identify
novel or incompatible versions. In my model you could easily see how a
particular implementation fits into the overall standard, and translate
knowledge from other Logos.

But really, the advantage of section-per-implementation is that it's
clear who writes what... well, besides the template, some introductory
material, and probably the "standard", which is the base against which
Logos would be described (since it would be tedious for all involved to
describe features that are common to all but one or two Logos). Anyway, besides all *those* things, I could just sit down and bang out the PyLogo section, and maintain it as such. I'd also find it a useful
document for PyLogo users who may have experience with other Logos.

Either way, each Logo should also have a "what makes me different" kind of section, that explains in an entirely free-form narrative what that
version is attempting to do within the overall environment. Like OOP in
Elica (or is it something else?), or parallelism in StarLogo, while
Microworlds might be more about fitting into a larger curriculum or
being immediately appealing to children.

> In this way, sorting things by feature (rather then by implementation)
> will help users to compare Logos, to translate one Logo into another,
> etc. For example, the document that I'm still wrting for Elica's OOP
> has similar structure (it is attached at the end of the mail). Of
> course it is tuned for Elica, so read it just as an illustration of
> what I mean by 'feature'. Obviously to prepare the Atlas we need to
> collect the features of each Logo that will be included in the Atlas.
> However, I think that the Atlas should be opened for editions, so
> when, for example UCBLogo becomes an OOP Logo then it will appear in
> the chapter with OO features.

It could even be a Wiki. Though sometimes Wikis are the easy answer to
everything ;)

> The collection of features is important, because in this way it will
> be possible to find out what features are most commonly use and what
> are unique extensions. Obviously the OOP should be in the advanced
> features, as long as it is not generally supported. When we have the
> set of features, it will be posibble to categorize (group) them, thus
> making the global structure of the Atlas (so, what I actually propose
> is to design the Atlas in top-to-bottom approach).
>
> Oh, just to add, the Atlas will be a nice home for the Logo Tree
> Project.
>
> The current situation is: there are people who what to join the Atlas
> and provide info about (alphabetical order): Elica, NetLogo, Terrapin
> Logo, and UCBLogo. Any others? George? Ian? Peter at al.? AJ?

I'd be happy to contribute, in either form.

Ian
Whether it's ultimately sorted by feature or by implementation,
clearly the information will be submitted by implementation.
And equally clearly there has to be an outline by feature, which
will either be the table of contents of the whole thing, or not. :-)

To try to get this project off the ground, I propose the structure
of the UCBLogo manual as the outline by feature:

Entering and Leaving Logo
Tokenization
Data Structure Primitives
Constructors
Selectors
Mutators
Predicates
Queries
Communication
Transmitters
Receivers
File Access
Terminal Access
Arithmetic
Numeric Operations
Predicates
Random Numbers
Print Formatting
Bitwise Operations
Logical Operations
Graphics
Turtle Motion
Turtle Motion Queries
Turtle and Window Control
Turtle and Window Queries
Pen and Background Control
Pen Queries
Workspace Management
Procedure Definition
Variable Definition
Property Lists
Predicates
Queries
Inspection
Workspace Control
Control Structures
Template-Based Iteration
Macros
Error Processing
Error Codes
Special Variables

"Queries" means operations that are neither selectors (to extract
part of a data structure) nor predicates.

Some of these (e.g. macros) are UCBLogo-specific, and this leaves
out OOP; someone else should contribute subheadings for that.

If people like this idea, and also like my proposal to use
Apple Logo II as the common-denominator default, I'll go ahead
and write up both that and UCBLogo.

-Brian
-------------------------------------------------------------------------



1. Great idea-- are we going to do signed copies of the first edition?


2. Who is the intended audience? On my shelves I have a Simple Atlas,
a Concise Atlas, a Childs Atlas, a Childs first Atlas, a School Atlas,
a Secondary School Atlas, Ein Schulatlas (grosse ausgabe), Road Atlas,
A Road atlas of North America and Mexico, A historical atlas, An
Economic Atlas , a Thematic Atlas, a Pictorial Atlas.

3. Manuals on line, is another concept entirely but (thinking of
copyright-- ouch) there have been time when it would have been a god
send to be able to refer to. :-!



>The other way to do this would be to have a template of some sort (like
> >in outline form) that gets filled in for each Logo. So there'd be a
> >Elica section, a PyLogo section, a Apple Logo section, and so on.
>
> Whether it's ultimately sorted by feature or by implementation,
> clearly the information will be submitted by implementation.
> And equally clearly there has to be an outline by feature, which
> will either be the table of contents of the whole thing, or not. :-)

What about being a little bit more modern? If all the information is stored
in a convenient electronic format, it will be easy to extract various
projections, subspaces of data, or even to request a printer-friendly output
of specific things.

So one could query for OOP in Logo, other will need a printout of UCBLogo
turtle primitives, and a third person would like to know features common to
Imagine and Microworlds Pro...

I'm not against a paper-only Atlas, but having a "database" (with the ability
to update/query it online) will solve many problems of formatting the text,
updating the contents, and distributing the updated version to users...

What do you think about this -- an online database that allows implementators
to update information about their Logo versions, and users to query the
database various things about Logo and as well request a good-looking
a-la-hard-copy-formatted texts of the things they have requested?

Pavel

-----------------------------------------------------------------------------

I would even propose we move up from database to Knowledge Base.
The main purpose would be to make the Logo Atlas a living source which grows richer and more meaningful & useful over time.

Some specific things this would allow:
Variable length data, even graphics, in all fields
Missing data - to be added over time
Reference to the sources of each piece of knowledge
+
Questions
- Users allowed to leave questions
- To be answered by:
Other users
Developers
Users to create 'filters' of what is important to them
Also, how they want it displayed/printed out
Language Extensions, i.e. Libraries like Daniel's LogoFE
At some point, even version info could be included
Other user libraries, either pointed to or even included
Synonyms, so users can ask questions in their own terminology
Projects - small, large, and even just proposed

This is why I developed my Knowledge cells (KnCell) over the past 2 decades, for the dual purposes of :
1.) capturing private meanings, independent of the vocabularies of separate disciplines, and
2.) doing it in away that enables sharing these personal knowledge bases between many individuals, with different vocabularies, disciplines, and values, i.e. sharing meanings.

It is a large project, which could start soon with the existing Logo Tree Project, as a seed, and would grow over time. I am willing to donate my time & energy to make it happen, since the LOGO philosophy, and its many implementations have allowed me to teach important concepts and skills to many disadvantaged youth, and to experiment, myself, with a lot of ideas that would have been impractical in VB, C, BASIC, COBOL, Assembler etc.

It would, in my opinion, leapfrog a generation in usefulness, going from help files that don't help, to a personally accessible and useful growing knowledge base, perhaps moving Logo out in front, for other languages to 'catch up with'.

Bob

"To create New Answers; you must ask New Questions."
- Bob Gorman
http://www.kncell.org
--------------------------------------------------------------------------------------------------------
>> If people like this idea, and also like my proposal to use Apple
>> Logo II as the common-denominator default, I'll go ahead and write
>> up both that and UCBLogo.

Pavel> I agree Apple Logo II to be used as a basis to build on.

Is there documentation for that online somewhere, or will someone be
writing something up? I'd have trouble describing how NetLogo differs
from it, since I've never seen or used it...

==
Seth Tisue / seth@... / (847) 467-2814
lead developer, NetLogo http://ccl.northwestern.edu/netlogo/
Center for Connected Learning and Computer-Based Modeling
School of Education and Social Policy / Department of Computer Science
--------------------------------------------------------------------------------------------------------
I have never used Apple Logo II, but as long as I see it quite often in
the "Inspirator" field of the Logo Tree, it appears to be a reasonable
"template".

Brian, could you post/email the docs if you have them as files, or give us
an URL if available?

I think everyone agrees that the Atlas should be something online, however
there are several possibilities:

1. Online as one or more standalone documents (in MSDoc, PDF, Plain ASCII,
RTF, or whatever format)
2. Online as a database/knowledgebase

I think that starting with option (1) will be easier -- a kind of a quick
start, however option (2) is more functional. So, what are your
suggestions?
To start with (1) and sometime in the future when the data becomes too
much to move to (2), or directly to start from (2)?


My *current* personal preference is to start from (1) and then to move
towards (2) for the second edition of the Logo Atlas...

Pavel

--------------------------------------------------------------------------------------------------------
> It may just be my current fad- but wouldn't Wiki be an effective
> format for a cooperative venture like this.

I don't know. Whatever the final form is, I'd prefer to be able to print a
selected portion (or all the knowledgebase) onto paper -- in a good
well-formated style. Maybe in respect to reading I'm old-fashioned -- I
definitely prefer to read something from paper (maybe I like the paper
smell/touch and page flipping).

So, I'd like the Atlas to be in a form that can be programmatically
formated. For example (just an example), if the Atlas is in XML, it is not
quite hard to write XSLT that convert it into something nice to
read-and-print, or print-and-read.

Pavel

-------------------------------------------------------------------------------------------------------
"clemrutter"
Date: Sun Feb 15, 2004 11:38 am
Subject: Re: Logo Atlas (A Logo Spec Alternative) clemrutter
Offline Offline
Send Email Send Email

It is almost two months since the last posting on the Logo Atlas
project, in those two months I have borrowed documentation of

RML Nimbus Logo - a descendant of Edinburgh Logo- important in the UK
BBC Logo
Logotron Logo
Open Logo
PCW Logo
Smile Cards
+ an Apple II Logo Primer (Martin, Paulsen and Prata)
(All of the above have a relevance in the UK, because of their
adoption in schools or universities. The residual Logo skills here
will have been gained in one of these dialects.)

So where now?
Have we decided:

1.To use Logo Tree as a basis?
2.To compare all to Apple II?
3.How to write out the research?
4. Did we agree on a template. The following methods have been suggested.
Brian's frequent topic list
Brian's UCB Reference manual headings
Elica features method
5.Who is driving this project?
6.Where are contributions being posted?

---------------------------------------------------------------------------------------------------------
lionel_laske wrote:

> I'm proud to announce the release 0.1 of Liogo.
> Liogo is a Logo compiler for .NET that I'd wrote
> from scratch using .NET Framework.


Mustafa Elsheikh wrote:

> ARLOGO- The Arabic Logo Project
> Based on UCBLOGO, ARLOGO tries to create the first
> Open-source Arabic Programming Language

---------------------------------------------------------------------------------------------------------
COCO Logo Pak (part# 26-2722)
(a ROM-Pak for the Tandy Color Computer)

Disk COCO Logo (part# 26-2721)
(for the Tandy Color Computer running Color TRS-DOS)

DL Logo
(for the OS-9 Operating system running on Tandy Color Computer)
by Dale Lear




Powerlogo
for the Amiga running AmigaDOS
by Gary Teachout



Gene.
---------------------------------------------------------------------------------------------------------
logo_programmer wrote:
> I'd love to write programs in Logo which EVERYBODY could
> run on whatever implementation of Logo they'd prefer.
That sounds as if you want to speak to any person on the planet and
(s)he will understand you independedn on what language you speak and
what language (s)he understands...

That's why I insisted on making a Logo Standard (I know some people will
start to blame me again). The aim that if a program is written using the
standard, it should be runnable by any Logo implementation that supports
the standard.

For example: the standard may say that COUNT should work on words and
lists (at least). If Logo implementation X supports the Logo standard,
then X should support COUNT of words and lists. But this does not limit
X to use COUNT for other purposes, like counting the number of elements
in an array, for example.

In a similar way all Logo implementations will support the Logo standard
+ some unique primitives specific to this implementation. I understand
that some implementation should change their core, but that's an
acceptable price.

> As Pavel has informed me that he has implemented some means
> of testing Implementation and Version in his Elica and Lhogho
> implentations I have some hope of writing Logo programs which
> are Context-Aware and Self-Aware enough to run in BOTH
> Elica and Lhogho.
Yes, there is LogoVersion function, but this is not enough. The
difference between Logo implementations is not only in the set of
primitives. There are several things that cannot be safeguarded with
LogoVersion (or similar function). For example, the way of parsing
source text varies in different Logo implementations. This is something
that happens BEFORE finding and analyzing any LogoVersion function.


> Perhaps Pavel will read this and decide to share with us all
> what he has done or/and intends to do ...
I still insist on the Logo Standard or the Logo Atlas (any of them will
make me happy). I plan to write a small version of the Great Logo Atlas
covering Lhogho and UCBLogo. Then I hope that others will join
(aUCBLogo, MSWLogo, FMSLogo, Liogo...)

-Pavel
---------------------------------------------------------------------------------------------------------
As I have said before I am willing to help in the Logo Atlas- it is
incredibly important.
But down to practicalities.

-Where will it be hosted?
-What will it contain?
-What will the format of the articles be? HTML XML Wiki
-Has it already been written? Are files already posted to some obscure
host on a planet in the neighbouring galaxy?
-zShall it be written in Spanish or English?

Do we agree that Pavel should make the decision and we should all follow
his lead?
Or are we all waiting for someone else to make that decision too?

Clem.
---------------------------------------------------------------------------------------------
Message: 3         
Date: Fri, 24 Feb 2006 19:30:57 +0200
From: Pavel Boytchev
Subject: Re: The Great Logo Atlas and providence.

Clem Rutter wrote:
> -Where will it be hosted?
>
I think this is not quite a problem. It will be possible to find some space for hosting.

>
-What will it contain?
>
It's better to make a brainstorming session about this. For example, I'd like to be able to look for a specific primitive and see in what Logos it does exist and in what Logos it does not exist (and how to rebuild or simulate it). I'd like to be able to look for functionality and then find how this can be achieved in different dialects (i.e. a database of algorithms with different styles, comments, etc). I'd like to see information how to migrate a program from one Logo to another, and I'd like to see lots of examples, how-tos. tricks, and several special applications that we could proudly show to other and say "See what can be done in Logo and see how it is done"

I'd like to find in the Logo Atlas discussions/ descriptions/ example of varying programming styles in Logo. For example algorithms realized with recursion and iteration; example of dynamic scope and static scope; etc,
etc.

I'd like to find FAQ about Logo, pointers to Logo resources, the Logo Tree (as a poster format) and as interactive program, Logo adventures, the Brian's bible, a collection of papers about Logo, etc. etc.

Do I want too much?
 -What will the format of the articles be? HTML XML Wiki
>
I'd vote for something that can be used to generate anything else. A database? An XML? I'd like to be able to treat this database as multidimensional and cut out special slices of interest, and then convert them to the format which I need - PDF, TXT, HTML, ... For example, I might be interested onlu is specific Logo implementation (and then all other topics will be invisible), then I might want to see how list are manipulated in various Logos (and all the rest becomes invisible), then I might want to look for specific functionality - let's say multimedia suport - in any Linux Logo... and then all info about Windows or about non-multimedia will made invisible...
 -Has it already been written? Are files already posted to some obscure 
> host on a planet in the neighbouring galaxy?
>
I have no idea.
 -¿Shall it be written in Spanish or English?
>
This depends on the people who will donate resources and efforts is preparing all these data.
 Do we agree that Pavel should make the decision and we should all follow 
> his lead?
>
I'm not sure whether I prefer a one-man decision style.

> Or are we all waiting for someone else to make that decision too?
There is nobody else. If we (the Logo community) do not make the 
decision, nobody else will do it for us.

If there is no any agreement or decision, I will start by myself when I finish Lhogho. At the beginnin I will include only UCBLogo and Lhogho, but I hope that others will join with their Logo implementations. Once the backbone of the Atlas is ready, it is much easier to put some flesh on it :)

Pavel.

The ToDo List


1. Agree to this working format of display: comments to the forum or use the mailform.

2. Gather the data: I have started on a proforma- I have deviated from the idea of comparing with just Apple II- but instead use the concept of comparing with 'Key Logo's of which Apple II, Berkeley, Elica, NetLogo are included. Is this correct? Are these the right Logo's? What should the 'Non Logo' Logo be?

3. Analyse the data

Proposed Data Capture Pro Forma


Please cut and paste this proforma, and email the results back using the Mailform or directly to:
The information will be displayed directly in the atlas.

Name:

Website:

Years:

Current Version:

Status:

Platform and Language:

Inspirators:

====================================================

Developping Organisation:

Lead Developpers:

Contact Email Address:

====================================================

Informant:

Contact Email Address:

====================================================

Synopsis


Synopsis: A free text description of this version, its special features, its target audience, its philosophy.




====================================================

Analysis


There are several key 'Logos' All Logos can be defined against one of these key Logos. Choose to define this Logo against one of these Key Logos.

Please choose the
a) closest Key Logo.
b) more than one close Key Logos
c) define another key Logo- provide a set of question

Key Logo will have to compare with another Key Logo

Please indicate which Key Logos


  • KTurtle (mythical) (a non Logo with Turtle Graphics-no SET or MAKE)
  • Apple II
  • Berkeley Logo
  • Elica (OO)
  • NetLogo- parallelism

For each question- please answer.

  • NI- Not Implement
  • PI -Partially Implement- describe what is missing.
  • FULL- Fully compliant with the standard
  • EXT- Extended- Fully compliant, backwardly compatible, with extended features.
====================================================

This section is designed to provide detailed comparison with KTurtle
If this is not your Key Logo-leave blank.

There is a set of basic primitives that work pretty much the same
in most major Logo versions:


How well does this Logo comply with this basic drawing package- please enter for each category using:

  • NI- Not Implement
  • PI -Partially Implement- describe what is missing.
  • FULL- Fully compliant with the standard
  • EXT- Extended- Fully compliant, backwardly compatible, with extended features.

  1. repeat, fd, bk, rt, lt, pd, pu,
  2. setpos, pos, seth, heading,
  3. word, list, sentence, fput, lput, first, last, butfirst, butlast
  4. to, end
  5. make


====================================================

This section is designed to provide detailed comparison with Apple II
If this is not your Key Logo-leave blank.
====================================================

This section is designed to provide detailed comparison with Berkeley
If this is not your Key Logo-leave blank.

How well does this Logo comply with Berkeley Logo- please enter for each category using:
  • NI- Not Implement
  • PI -Partially Implement- describe what is missing.
  • FULL- Fully compliant with the standard
  • EXT- Extended- Fully compliant, backwardly compatible, with extended features.
  1. Entering and Leaving Logo
  2. Tokenization
  3. Data Structure Primitives
  4. Constructors
  5. Selectors
  6. Mutators
  7. Predicates
  8. Queries
  9. Communication
  10. Transmitters
  11. Receivers
  12. File Access
  13. Terminal Access
  14. Arithmetic
  15. Numeric Operations
  16. Predicates
  17. Random Numbers
  18. Print Formatting
  19. Bitwise Operations
  20. Logical Operations
  21. Graphics
  22. Turtle Motion
  23. Turtle Motion Queries
  24. Turtle and Window Control
  25. Turtle and Window Queries
  26. Pen and Background Control
  27. Pen Queries
  28. Workspace Management
  29. Procedure Definition
  30. Variable Definition
  31. Property Lists
  32. Predicates
  33. Queries
  34. Inspection
  35. Workspace Control
  36. Control Structures
  37. Template-Based Iteration
  38. Macros
  39. Error Processing
  40. Error Codes
  41. Special Variables

====================================================

This section is designed to provide detailed comparison with Elica
If this is not your Key Logo-leave blank.
====================================================

This section is designed to provide detailed comparison with NetLogo
If this is not your Key Logo-leave blank.

====================================================

Primitives


Please supply a list of primitives.





====================================================
Please supply a list of predefined codes: eg colorlist (sic) and error codes.

Primary Sources

Please supply urls to
Manuals, Sourcecode, Development Notes, Tutorial Material

Guestbook

#CMSimple $output.=genizbook(); #

The Logo Tree


Download the current tree.


LOGO TREE PROJECT
Written by
P. Boytchev
e-mail: pavel-AT-elica-DOT-net
Rev 1.22
January, 2006
We’d like to thank all the people who helped us build the Logo Tree:
Andreas Micheler, Andrew Begel, Andy Dent, Andy Yeh, Arnie Widdowson, Bakhtiar Mikhak, Bill Glass, Brian Harvey, Carl Bogardus, Carlo Maria Vireca, Chaker Nakhli, Clem Rutter, Daniel Ajoy, David Costanzo, Eduardo de Antueno, Eric Klopfer, G. A. Edgar, Gary Teachout, Gene Sullivan, George Birbilis, George Mills, Ian Bicking, Jamie Hunter, Jim Goebel, John St. Clair, Kent Paul Dolan, Leigh Klotz, Lionel Laské, Lorenzo Masetti, Marcin Truszel, Michael Malien, Mike Doyle, Mustafa Elsheikh, Peter Tomcsanyi, Rachel Hestilow, Seth Tisue, Susumu Kanemune, Timothy Lipetz, Uri Wilensky, Vladimir Batagelj.

Introduction

The main goal of the Logo Tree project is to build a genealogical tree of new and old Logo implementations. This tree is expected to clearly demonstrate the evolution, the diversity and the vitality of Logo as a programming language.
The Project will go through three phases. The first phase is called Data Collection. It started September 2002 and is still active. This phase is about collecting the names of known Logos and some basic data about each implementation. The second phase, Data Analysis, is about the analysis for internal relationships among Logo implementations. This phase will start when the records of the Logo Tree are complete enough. The result of this phase will be having determined clusters of historically and evolutionary related Logos. The last phase is the Data Visualization. In it the focused will be on the design and the implementation of an interactive visual representation of the Logo Tree.

WE DO NEED YOUR HELP!

The information needed for building the Logo Tree is hard to locate. The only way to collect this information is to ask you, Logo users and developers, to help us. If you know something about any Logo implementation that is not already included in the records, do not hesitate to contact the author.

For each Logo we collect these data:

Name - the name of the Logo implementation. Versions that come under the same
name share the same entry;
URL - URL for the main page
Year - the year of the first and the last known versions;
Version - the number of the last known version;
Status - the status of the implementation. Active if it is still under development and new versions are expected sooner or later. Frozen is an implementation which development is stopped, but is still heavily used. Dead implementations are those that are not supported and most likely there are no active users (for some cases it is hard to say whether they are dead or frozen);
Platform - the general OS or hardware platform;
Inspirator - this field contains the names of other Logo implementations that inspired physically, ideologically or spiritually the development of the given Logo (this field will connect Logos in a tree).


This table has lost its formatting in copying.
Logo Name URL Years Version Status Platform Inspirator
1. *Logo 1992~1994 1.1 Dead Connection
Machine 2
Multi-Logo
2. ???unknown??? Dead Mattel
3. ComseD Logo Apple
4. ??Logo?? 1997 1.4 Dead Amiga
5. 3-D Logo (Mac) 1991 Apple Mac
6. Acornsoft Logo, 1984-1986 , Dead, Acorn BBC micro Acorn Electron ROM
7. ACSLogo http://www.alancsmith.co.uk/logo 1994~2005 1.4b Active MX BeOS Amiga Logo
8. AJLogo 1997~2002 2beta Active Java Amiga Logo, Terrapin Logo, Power Logo
9. Amiga Logo Amiga
10. Apple Logo (II) 1980 Dead Apple MIT PDP-11
Logo
Logo Name URL Years Version Status Platform Inspirator

11. Apple Sprite Logo Dead Apple Apple Logo
12. ARLOGO 2005 Beta 1 Active Win UCBLogo
13. Atari Logo Dead Atari Apple Logo II
14. aUCBLogo 2004~2005 4.684 Active Win, Linux UCBLogo
15. BBN Logo Dead
16. BBN PDP-10 Logo Dead PDP-10
17. COCO Logo Dead TRS-DOS
18. Comenius Logo 1992~2001 3.0 Frozen Win Harward (PC)
Logo, ComseD Logo
19. Commodore Logo 1984~1990 1.0 Frozen Commodore 64 Terrapin Logo1
20. Cricket Logo for YoYo Java MicroWorlds
Logo Name URL Years Version Status Platform Inspirator

21. DFP Logo 1993 1.2 Frozen DOS MIT PDP-11 Logo
22. Dolittle 2000~2005 1.21 Active Java Logob(Win)
23. DR Logo 1986 Dead CP/M, PC, TOS
24. Drape 1997~1999 2.0 Dead Win
25. E-Slate Logo 1998~2003 IV Active Java TurtleTracks Logo
26. Edinburgh Logo RM Logo, Nimbus Logo
27. Elica www.elica.net 1999~2003 5.4 Active Win RLS
28. ExperLogo 1.1 Dead Mac
29. FMSLogo fmslogo.sourceforge.net 2005 6.7.0 Active Win MSWLogo
30. Fujitsu FM-8 Logo 1982 LCSI Logo
Logo Name URL Years Version Status Platform Inspirator

31. Galapago
32. General Turtle 2500 PDP-11 MIT PDP-11 Logo
33. Geomland 1993~1994 1.0 Frozen DOS PGS
34. Ghost 1967 PDP-1 [Root]
35. GLogo 2000 0.0.4 Dead Unix UCBLogo
36. Graphic Logo 1996~2002 4.4 Active Win TI-Logo MSX-Logo
37. Harward (PC) Logo
38. Helios 2001~2002 5.0 Active Win Logo Graphico
39. Hiragana Logo 1983
40. HoneyLogo Win
Logo Name URL Years Version Status Platform Inspirator

41. HyperLogo (Mac) 1994 2.0 Apple, Mac
42. IBM Logo 1991
43. Imagine 2001~2003 2.12 Active Win Comenius Logo, ObjectLogo,
Microworlds
44. JavaLogo Java
45. jLogo http://guillot.emmanuel.free.fr/jLogo/,1998-2005, 2.4.0,live, Java, Thomson/Nathan Logo plogo.
46. Krell Logo 1982 Dead Apple MIT Logo
47. KTurtle 2003~2005 0.1 Active Unix KLogo-Turtle
48. Ladybug DOS
49. LCSI Logo MIT Logo, Pascal Logo
50. LEGO Logo
Logo Name URL Years Version Status Platform Inspirator

51. LGS 1994~1995 2.0 Dead DOS TGS, Geomland
52. LGSW 1995 2.0 Dead Win LGS
53. Lhogho 2004~2005 0 Active DOS, Win, Unix UCBLogo,Elica
54. Liogo liogo.sourceforge.net 2006 0.2 Active .Net UCBLogo
55. LLOGO 1970 PDP-10
56. Logo DOS
57. Logo fuer den PC 1989 2.5 Frozen DOS Apple Logo II
58. Logo in Scheme Scheme
59. Logo Graphico 1994~2002 4.4 Active DOS, Win MSX-Logo, TI-Logo
60. Logo Learner
Logo Name URL Years Version Status Platform Inspirator

61. Lógó nyelv,http://logonyelv.sourceforge.net/,1.7.1, 2001, Frozen, DOS/Linux
62. Logo PLUS 1991~2000 2.0 Frozen Apple, Mac Terrapin Logo1
63. Logo Turtle Graphics 1992 DOS
64. Logo++ 1999 beta 1 Dead Win, Unix none
65. Logo-in-Scheme
66. Logob1 1990~1996 1.26 Frozen DOS UCBLogo, Apple Logo II
67. Logob2 1996~2000 2.14 Frozen Win Logob1
68. LogoChip Logo 2004 1.0 LogoChip
69. LogoS 1989 Frozen DOS
70. Logotron Acorn BBC micro
Logo Name URL Years Version Status Platform Inspirator

71. LogoWriter (2, Win) 1985 2.0 Frozen Apple, Mac, DOS, Win
72. LSL Logo Acorn BBC micro
73. LSRHS Logo (Unix Logo) 1980~1982 4 Dead PDP-11, Unix PDP-11 Unix Logo, Apple Logo
74. LXLogo 2005 1.0 Active Linux Win-Logo
75. Mach Turtle Logo 2.0 Win Logo Name URL Years Version Status Platform Inspirator
76. MacLogo
77. MacStarLogo 1995~2002 2.0.5 Frozen Mac Multi-Logo,Microworlds,
*Logo
78. MegaLogo Frozen Win Comenius Logo
79. Microworlds 1993 Frozen Mac, DOS, Win
Logo Name URL Years Version Status Platform Inspirator

80. Microworlds Ex 2005 1.4 Active Mac Microworlds Pro
81. Microworlds Ex Robotics 2004~2005 1.4 Active Mac Microworlds Ex
82. Microworlds JR 2004 Active Win Microworlds Pro
83. Microworlds Pro Frozen Microworlds
84. Mini Logo 2002 0.04beta Frozen Flash Commodore Logo
85. MIT Logo Dead Apple Pascal Logo
86. MIT PDP-11 Logo 1982 Dead PDP-11
87. MonoLOGO 2002 n/a Active .Net Berkeley Logo, ObjectLogo
88. MSWLogo 1993~2005 http://www.softronix.com/logo.html 6.5g Active Win Berkeley Logo
89. MSX Logo
90. Multi-Logo Frozen Win Comenius Logo
Logo Name URL Years Version Status Platform Inspirator

91. Music Logo Apple Terrapin Logo
92. NetLogo http://ccl.northwestern.edu/netlogo/,1999~2005 3.0 Active Java StarLogoT
93. Object Logo http://www.digitool.com/ol-specs.html ,1986-1999, 2.7 Dead Mac,Apple Logo Object Lisp.
94. Open Logo Acorn BBC micro Edinburgh Logo
95. OpenStarLogo 2006 2.21 Active Java StarLogo
96. Palm Logo
97. Pascal Logo (PLOGO) 1978 TI/99
98. PC Logo 1984~2000 2.0/4.0 Frozen DOS, Win MIT Logo
99. PCW Logo 1992 CPM
100. PGS 1985~1993 4.0 Dead DOS Terrapin Logo1
Logo Name URL Years Version Status Platform Inspirator

101. PIC Logo Active Java, PIC Microcontrollers
102. PowerLOGO 1989~1994 1.4 Frozen Amiga LCSI Logo, TLC-Logo
103. PowerMath Logo Frozen LogoWriter
104. ProLOGO 2003 0.9 Active Linux, Win, Mac
105. PyLogo 2003 0.1 Active Python UCBLogo
106. Quick Logo (QLogo) 1998 n/a Dead Linux
107. Rabbit Logo Active Rabbit Processors
108. rLogo
109. RLS 1995~1999 3.0 Dead Win LGSW
110. RM (Nimbus) Logo 1994 2 Dead DOS
Logo Name URL Years Version Status Platform Inspirator

111. Scheme Logo Scheme
112. Screen Turtle 2
113. SeeLogo 2002 1.0.4 Win
114. SharpLOGO (#Logo) 2003 Win NetLogo
115. Sinclair Logo 1984 1.6 Dead Sinclair LCSI Logo
116. SmartLOGO 1984 Dead ADAM
117. Sprite Logo Dead
118. StarLogo 2000~2005 2.21 Active Java Multi-Logo, Microworlds, *Logo
119. StarLogo for YoYo Java
120. StarLogoT 1997~2002 2002 Frozen Mac MacStarLogo
Logo Name URL Years Version Status Platform Inspirator

121. StarLogo TNG 2006 Active Java StarLogo
122. SuperLogo Frozen Win Comenius Logo
123. SuperLogo Frozen Win MSWLogo
124. SuperLogo (German) 1995~2007 1.1.023 (1.1.048) Frozen Win SuperLogo (Dutch)
125. Terrapin Logo1 1986~1999 2.0 Frozen Apple MIT Logo
126. Terrapin Logo2 2000~2004 2.2 Active Mac, OS X, Win PC Logo, Logo PLUS
127. Terrapin Graphics
128. TGS 1994 2.0 Dead DOS TopLogo++,PGS
129. TI Logo (II) 1981 Dead TI-99 MIT Logo
130. TinyLogo 1999 1.1 Frozen Palm OS TI Logo II, Apple Logo
Logo Name URL Years Version Status Platform Inspirator

131. TKTSLogo 2001~2002 1.0a9 Active Win MSWLogo,UCBLogo
132. TLC Logo 1984 Dead CPM
133. TopLogo++ 1992~1994 2.0 Dead DOS PGS
134. Tortue 2003 2003-07-29 Java
135. Trend Logo 1996~1999 4.4 Frozen Win TI-Logo, MSX-Logo
136. Turtle
137. TurtleTracks 1997~1999 1.0 Frozen Java UCBLogo
138. TurtleTracks.net 2003 1.0 Active .Net TurtleTracks
139. UCBLogo (Berkeley Logo) www.cs.berkeley.edu/~bh/logo.html 1988~2005 5.5 Active Mac, Unix,DOS, Win Apple Logo II
140. Visual Logo
Logo Name URL Years Version Status Platform Inspirator

141. VLogo 2002 2.0 Active Win ??First Logo??
142. VRMath 2002 1.0 Active Win Turtle Tracks, UCBLogo, MSQLogo, MicroWorlds
143. Waterloo Logo DOS
144. Web Turtle
145. Win-Logo 1994 2.0 Active Win Apple Logo II
146. WinLogo DOS
147. XLogo xlogo.sourceforge.net 2003 0.3.5 Frozen OS X
148. xLogo 1989 Dead TOS Apple Logo
149. Yellow Brick Logo
Logo Name URL Years Version Status Platform Inspirator

150. YoYo 1996 Java
151. ZLogo Win




Other Logos- not in the Tree

Logo Name URL Years Version Status Platform Inspirator

x-1., Logo.net,http://users.belgacom.net/logo.net/index.htm ,2006 , 1.6, Live, WinXP, Unknown
x-2., XLogo, http://xlogo.free.fr/index.html, 2006, 0.9.18b, Live, Java win95-Xp/Linux,,

x-3 P_Logo (Papy Logo), http://olivier.sc.free.fr/logosc/plogosc/telechar.htm,-2005, DOS,Unknown

x-4 JFLogo,http://jflucas.club.fr/TelechargerLogicielsPedagogiques

x-5Logo3D,http://jflucas.club.fr/TelechargerLogicielsPedagogiques/TelechargerLogo3D.htm, 2006,Win, JFLogo

x-6Pure Golo


Other Graphics Programs - using the Name Logo.

z-1., Tortue,Unknown http://tortue.sourceforge.net/index.php?content=Documentation
,2003, 2003-07-25, Frozen, Java,Unknown


Links to other LOGO References on the Web from Tortue



  • Logo Foundation
  • Turtle Tracks
  • rLogo
  • StarLogo
  • KLogo-Turtle
  • MSW Logo
  • Berkeley Logo (UCBLogo)
  • Google Directory: Logo



  • International Schools-Which Logo


    Reports from Logo Forum

    Brasil/Brazil

    In my country, our schools use Portuguese versions of Superlogo (in Brazil: "Megalogo"), MSWLogo ("Superlogo") and MicroWorlds ("MicroMundos").
    Alexandre
    Brazil
    http://br.geocities.com/projetologo

    Costa Rica

    I know that Costa Rica uses MicroMundos (MicroWorlds) as part of a national educational program. What's strange is that I haven't found a single place in the Internet where I can see their community.
    So my guess is that there isn't a community there, and that the use of MicroWorlds in Costa Rica is very mechanical.

    Venezuela


    In Venezuela there are still residues of the impulse given by
    IBM in the 80's to LogoWriter (in Spanish, for DOS)

    Argentina


    In Argentina, people used LogoWriter in Spanish for DOS and the
    people that believed in the Logo philosophy moved to Logo Gr=E1fico.
    This version was created in Argentina and it is a commercial
    version with site licenses. It is still being promoted and it
    has a new version called Helios.

    Many people in Argentina and elsewhere in Latin America still
    try to find information about LogoWriter.

    The most adventurous are moving to the translation of
    MSWLogo 6.5a. This translation was made by the Ministry of
    Education of Spain (in a rush, and not realizing that 6.5b
    was already out and that 6.5b fixed the CPU hugging problem).

    Spain


    In Spain people use copies of WinLogo to teach robotic concepts
    in an optional highschool course called "Math Workshop". Now they
    are in trouble because some of their communities are moving to
    Linux and there is no good replacement of WinLogo for Linux.
    (there isn't a version of Logo in Spanish for Linux that
    handles robotics). So I guess they are using Windows emulation
    software (like Wine) or moving on to Python.

    There is a translation of MSWLogo 6.5a. This translation was made by the Ministry of Education of Spain (in a rush, and not realizing that 6.5b was already out and that 6.5b fixed the CPU hugging problem).


    There is a company in Spain that creates hardware
    controller cards called Enconor cards that have modified
    this translation of MSWLogo 6.5a to program their
    products. I think teachers in Spain use that too in their
    "Math Workshop" clases.

    Mexico


    There is another translation of MSWLogo. 6.5b this time.
    But it was done by a single programmer in Mexico and it
    lacked testing, so it crashes and freezes sometimes. This
    was created to be used in an education program in Mexico
    described here:

    Incorporating New Technologies to Schools: The EMAT project
    http://www.ocg.at/activities/books/volumes/band%20156/P61Sacristan.doc

    (these note were provided by Daniel and I have edited in the country names- which may help or distort! .Clem)

    Daniel
    A map of visitors to my web page is here:

    http://tinyurl.com/o9kf4

    Lot's of people from Spain...

    Mexico


    Estimado Daniel:

    Mi nombre es Juan Manuel Sánchez, colaboro para la Academia Mexicana de Ciencias. Esta institución desde febrero de 1984 mantiene un Programa de Computación para Niños, pudiera decir que es de los más antiguos de México; el enfoque que se le da es el de usar Logo para la divulgación de la Ciencia, dentro de un ambiento no escolarizado y sin costo para los niños.
    Mantenemos 119 instalaciones distribuidas en todo el país, varias de ellas son bibliotecas públicas; en la mayor parte de ellas usamos Micromundos Pro y en muy pocas Logo Writer. En nuestros inicios comenzamos con el Atari Logo.
    Niños indígenas de Zinacantán, Chiapas usan el Logo para construir diccionarios que convierten del tzotzil al español y viceversa, usando imágenes y sonidos que ellos graban con sus propias voces. Aquí buscamos que usen el Logo, para arraigarse en su cultura y pensar más en su entorno.
    También tenemos un proyecto de usar el Micromundos Pro con aplicaciones de robótica, empleando para ellos una interfaz y sensores construidos por nosotros mismos, algo parecido a la tarjeta ENCONOR española.
    Actualmente se prueba con éxito en dos lugares (Aguascalientes y México, D.F.)
    Sigo tus comentarios desde hace mucho tiempo y te felicito por esta extraordinaria labor, y ahora que mencionas lo que hace Ana Isabel Sacristán en México, consideré pertinente platicar brevemente de este Programa que coordino desde hace 22 años.
    Recibe un gran abrazo, que hago extensivo para todos los del foro.

    Juan Manuel Sánchez M.


    United Kingdom

    The responsibility for the curriculum lies with individual schools, though usually the school accepts the advice of the LEA- the education authority for the county. At the secondary level, the first networks were purpose designed by RML (Research machines) with its 380Z (8bit)and later with its Nimbus (16bit) DOS machines. These were phased out in favour of the PC. A few authorities experimented with the Acorn, BBC micro. There was government funding to encourage machine purchase from this list of 2. Primary schools started with whatever machines they could afford- and later moved to BBC and RML, and then PCs. Apple appeared at exhibitions and conferences- but I never saw them in a real school.

    Schools used the Logo that was packaged with the machine, though spin-off companies did advertise other ones- which some schools may have bought-though I have no evidence that they were used.

    Later Computer Science teachers who became IT teachers did start using MSWLogo. All UK kids did some Logo, few did very much.

    Clem Rutter 2006 (an opinion)


    The Apple II Standard

    #CMSimple $output=cmrfc("basic"); #
    A SUMMARY OF APPLE LOGO COMMANDS


    Notes: The key to using Logo primitives is to concentrate on inputs and outputs as indicated in the top line of each definition. A "#" sign on the left means that the primitive can take any number of inputs if parentheses are used.

    These lists need to be formatted

    Turtle Graphics

    BACK One input (Distance). No outputs.
    BK Moves turtle backward Distance steps.
    Example: BACK 50

    BACKGROUND No inputs. One output.
    Outputs a number representing the color of the background:
    0 black; 1 white; 2 green; 3 violet; 4 orange; 5 blue; 6 black (for b&w TV).

    CLEAN No inputs. No outputs.
    Erases the graphics screen without affecting the turtle (unlike CLEARSCREEN).

    CLEARSCREEN No inputs. No outputs.
    CS Erases screen; centralizes turtle; initializes heading
    to 0 (north).

    DOT One input (Position). No output.
    Draws a dot of the current pen color at Position.
    Example: DOT [100 0]
    Places a dot halfway down the right edge of the screen.

    FENCE No inputs. No outputs.
    Forces turtle to remain within the bounds of the screen.
    Example: FENCE FD 600
    Gives error message "TURTLE OUT OF
    BOUNDS" .

    FORWARD One input (Distance). No outputs.
    FD Moves turtle forward Distance steps.
    Example: FORWARD 50

    HEADING No inputs. One output.
    Outputs turtle's heading, with north 0, east 90, south 180, and west 270.
    Example: HEADING
    Outputs 45.

    HIDETURTLE No inputs. No outputs.
    HT Makes turtle invisible.

    HOME No inputs. No outputs.
    Moves turtle to center of screen and sets heading
    to O.

    LEFT One input (Degrees). No outputs.
    LT Moves turtle to center of screen and sets heading toO.
    Example: LEFT 45
    Turns the turtle 45 degrees left.

    PEN No inputs. One output (List).
    Outputs a two-word list. The first member is PEN­DOWN, PENERASE, PENUP, or PENREVERSE. The second member is the color number.
    Example: PEN
    Outputs [PENDOWN 2].

    PENCOLOR . No inputs. One output (Number).
    PC Outputs number representing current color: 0 black; 1 white; 2 green; 3 violet; 4 orange; 5 blue.

    PENDOWN No inputs. No outputs.
    PD Puts the turtle's pen down so it draws when moved.

    PENERASE No inputs. No outputs.
    PE Puts the turtle's eraser down so that it erases when
    moved.

    PENREVERSE No inputs. No outputs.
    PX Interchanges pen color and background color, draw­
    ing where there aren't lines and erases where there
    are.

    PENUP No inputs. No outputs.
    PU Lifts the pen up so no lines are drawn where the
    turtle moves.

    POS No inputs. One output (List).
    Outputs the coordinates of the current position of
    the turtle in the form [x,y].

    RIGHT Qne input (Degrees). No outputs.
    RT turns the turtle right (clockwise) Degrees.
    RIGHT 30
    Turns the turtle 30 degrees right.

    SCRUNCH No inputs. One output.
    Outputs the aspect ratio, the ratio of vertical turtle step size to the horizontal one.

    SETBG One input (Colornumber). No outputs.
    Sets background color corresponding to Color­
    number.

    SETHEADING One input (Degrees). No outputs.
    SETH Turns the turtle so it is heading in the direction
    Degrees.
    Example: SETHEADING - 45
    Heads the turtle northwest.

    SETPC One input (Colornumber). No outputs.
    Sets the color of the pen to Colornumber: 0 black; 1 white; 2 green; 3 violet; 4 orange; 5 blue.

    SETPEN One input (Pair). No outputs.
    Sets pen state to Pair. The first word is PENDOWN, PENERASE, PENUP, or PENREVERSE. The sec­ond word is the color number.
    Example: SETPEN [PENREVERSE 5]
    Has the same effect as PENREVERSE SETPC 5.

    SETPOS One input (Position). No outputs.
    Moves the turtle to Position.
    Example: SETPOS [1000]
    Moves the turtle halfway down right edge of the screen.

    SETSCRUNCH One input (Ratio). No outputs.
    Sets the aspect ratio to Ratio; changes YCOR accordingly.
    Example: SETSCRUNCH .75
    Makes vertical turtle step % the length of horizontal one.

    SETX One input (X). No outputs.
    Moves the turtle horizontally to x-coordinate X. Example: SETX 100
    Moves turtle horizontally to right edge of screen.

    SETY One input (Y). No outputs.
    Moves turtle vertically to y-coordinate Y. Example: SETY - 100
    Moves the turtle vertically to lower edge of screen.

    SHOWNP No inputs. One output (Boolean).
    Outputs TRUE ifturtle is shown; FALSE otherwise.

    SHOWTURTLE No inputs. No outputs.
    ST Makes turtle visible.

    TOWARDS One input (Position). One output (Heading).
    Outputs Heading to make turtle face Position.
    Example: SETHEADING TOWARDS [20 10] Heads the turtle in the direction of position [20 10].

    WINDOW No inputs. No outputs.
    Makes the turtle field unbounded.
    Example: WINDOW
    FD 600
    PRINT POS
    30.015 570.105

    WRAP No inputs. No outputs.
    Makes turtle field wrap around the edges of screen. Example: WRAP
    FD 700
    PRINT POS
    30.01520.975

    XCOR No inputs. One output.
    Outputs the x-coordinate of current position of turtle.

    YCOR No inputs. One output.
    Outputs the y-coordinate of current position of turtle.

    Words and Lists -­

    ASCII One input (character). One output.
    Outputs the ASCII code for character.
    See Appendix B for the full ASCII character set. Example: ASCII "D
    Outputs 68

    BUTFIRST One input (Object). One output.
    BF Outputs all but the first element of Object.
    Example: BUTFIRST [NOW IS THE TIME]
    Outputs IS THE TIME.

    BUTLAST One input (Object). One output.
    BL Outputs all but the last element of Object.
    Example: BUTLAST [NOW IS THE TIME] Outputs NOW IS THE.

    CHAR One input (N). One output.
    Outputs the character whose ASCII code is N. Example: CHAR 65
    Outputs A.

    COUNT One input (List). One output.
    Outputs the number of elements in List.
    Example: COUNT [HOW MANY ARE THERE] Outputs 4.

    EMPTYP One input (Object). One output.
    Outputs TRUE if Object is the empty word or the empty list; FALSE otherwise.
    Example: EMPTYP 7
    Outputs FALSE.

    EQUALP Two inputs (Object!, Object2). One output.
    Outputs TRUE if Object! and Object2 are equal; FALSE otherwise.
    Example: EQUALP 5 2 + 3
    Outputs TRUE.

    FIRST One input (Object). One output.
    Outputs the first element of Object.
    Example: FIRST [A B C]
    Outputs A.

    FPUT Two inputs (Object, List). One output.
    Outputs a new list formed by putting Object at the beginning of the List.
    Example: FPUT "RAT [BAT HAT]
    Outputs [RAT BAT HAT].

    ITEM Two inputs (N, List). One output.
    Outputs the Nth element of List.
    Example: ITEM 2 [ROME CHICAGO MOSCOW] Outputs CHICAGO.

    LAST One input (Object). One output.
    Outputs the last element of Object.
    Example: LAST [CAT COW HEN DOG]
    Outputs DOG.

    LIST Two inputs (Object!, Object2).
    Outputs a list whose elements are Object! and Object2.
    Example: LIST "HOUSE [BARN CABIN]
    Outputs [HOUSE [BARN CABIN]]
    # (LIST Object! Object2 Object3 . . .)

    LISTP One input (Object). One output
    Outputs TRUE if Object is a list, FALSE otherwise
    Example: LISTP [HERE IS A LIST]
    Outputs TRUE.

    LPUT Two inputs (Object, List). One output.
    Outputs a new list formed by putting Object at the end of the List.
    Example: LPUT "123 [BAT HAT]
    Outputs [BAT HAT 123].

    MEMBERP Two inputs (Item, List). One output.
    Outputs TRUE if Item is a member of List, False otherwise. Item may be any data object.
    Example: MEMBERP [1 2] [[A B] [1 2] [HI THERE]]
    Outputs TRUE.

    NUMBERP One input (Object). One output.
    Outputs TRUE if Object is a number; FALSE otherwise.
    Example: NUMBERP 5
    Outputs TRUE.

    SENTENCE Two inputs (Object!, Object2). One output (List).
    SE Outputs a list made up of the words in Object! and
    Object2.
    Example: SENTENCE [NOW IS][THE TIME] Outputs [NOW IS THE TIME].
    # (SENTENCE Object!, Object2, Object3, . . .)

    WORD Two inputs (Word I, Word2). One output (Word).
    Outputs a word made up of Word I and Word2. Example: WORD "BAT'MAN
    Outputs BATMAN.
    # (WORD Word 1, Word2, Word3,...)

    WORDP One input (Object). One output.
    Outputs TRUE if Object is a word; FALSE otherwise.
    Example: WORDP "XXX
    Outputs TRUE.

    Variables

    LOCAL One input (Name). No outputs.
    Makes its inputs local to the procedure where LOCAL occurs.
    # (Local Name1, Name2, Name3, . . .)

    MAKE Two inputs (Object, Name). No output.
    Gives the variable Name the value Object.
    Example: MAKE "THIS 475
    PR :THIS
    475

    NAME Two inputs (Object, Name). No outputs.
    Gives variable Name the value Object.
    Example: NAME "MAN "JOHN
    PR :MAN
    JOHN.

    NAMEP One input (Name). One output.
    Outputs TRUE if name has a value; FALSE otherwise.
    PR NAMEP "HOUSE
    Outputs FALSE if HOUSE has not been assigned a value.

    THING One input (Name). One output.
    Outputs the value of the variable Name.
    Example: MAKE "SIZE 33
    THING :SIZE
    Outputs 33

    Arithmetic Operations

    ARCTAN One input (N). One output.
    Outputs the arctangent (inverse tangent) of N.
    Example: ARCTAN 1
    Outputs 45.

    COS One input (N). One output.
    Outputs the cosine of N degrees.
    Example: COS 60
    Outputs .5.
    INT One input (X). One output.
    Outputs the integer portion of X (truncates).
    Example: INT6.7
    Outputs 6.

    PRODUCT Two inputs (Nl, N2). One output.
    Outputs the product of its inputs.
    Example: PRODUCT 8 4
    Outputs 32.
    # (PRODUCTNl, N2, N3, . . .).

    QUOTIENT Two inputs (Xl, X2). One output.
    Outputs Xl divided by X2, truncated to an integer.
    Example: QUOTIENT 18 4
    Outputs 4.

    RANDOM One input (N). One output.
    Outputs a random non-negative integer less than N.
    Example: RANDOM 6
    OutputsO,1,2,3,4,or5.

    REMAINDER Two inputs (Xl, X2). One output.
    Outputs the remainder obtained when Xl is divided by Xl.
    Example: REMAINDER 17 5
    Outputs 1.

    RERANDOM Makes RANDOM produce the same sequences each
    time.

    ROUND One input (N). One output.
    Outputs N rounded to the nearest integer.
    Example: ROUND 5.501
    Outputs 6.

    SIN One input (N). One output.
    Outputs the sine of N degrees.
    Example: Sin 30
    Outputs .5.

    SQRT One input (N). One output.
    Outputs the square root of N, or error message if N is negative.
    Example: SQRT 36
    Outputs 6.

    SUM Two inputs (Xl, Xl). One output.
    Outputs the sum of Xl and Xl.
    Example: SUM 6 4
    Outputs 10.
    # (SUM Xl, Xl, X3, . . .)

    + Two inputs (Xl, Xl). One output.
    Outputs the sum of its inputs.
    Example: 4+5, 4 + 5,3+3+3
    All output 9

    - Two inputs (Xl, Xl). One output.
    Outputs the result of Xl- Xl.
    Example: 5 - 3, 5 - 3, 5 - 3
    All output 1

    - One input (Xl). One output.
    Outputs the negative of Xl.
    Example: - 5
    Outputs - 5

    * Two inputs (Xl, Xl). One output.
    Outputs the product of its inputs.
    Example: 5*6, 5 * 6
    Both output 30

    / Two inputs (Xl, Xl). One output.
    Outputs Xl divided by Xl.
    Example: 8/4, 8 / 4
    Both output 1

    > Two inputs (Xl, Xl). One output.
    Outputs "TRUE if Xl is greater than Xl, "FALSE otherwise.
    Example: 5>4, 5 > 4
    Both output "TRUE

    < Two inputs (Xl, Xl). One output.
    Outputs "TRUE if Xl is less than Xl, "FALSE otherwise.
    Example: 4<5, 4 < 5
    Both output "TRUE

    = Two inputs (Objectl, Objectl). One output.
    Outputs "TRUE if Object 1 equals Objectl, "FALSE otherwise.
    Example: 4=4, 4 = 4, (FIRST "OTHELLO) = "0
    All output "TRUE

    Conditionals and Flow of Control

    CO One input (Object-optional). No outputs.
    Resumes running a procedure after a PAUSE or CTRL-Z. If CO has an input, it becomes the output from PAUSE.

    IF Inputs: (Pred, Instructionlistl, Instructionlistl (optional».
    Outputs-whatever instruction list outputs (if any). If Pred is TRUE, runs Instructionlistl. If Pred is FALSE, runs Instructionlistl.
    Example: IF (FIRST:NAMES) = "MITCH [PR [HI MITCH]] [PR [NOT HERE]]
    Prints HI MITCH if condition is met.

    IFFALSE One input (Instructionlist). Outputs: same as
    IFF Instructionlist, if any.
    Runs Instructionlist if result of most recent TEST was FALSE.

    IFTRUE One input (Instructionlist). Outputs: same as
    IFT Instructionlist, if any.
    Runs Instructionlist if result of most recent TEST was TRUE.
    Example:
    TEST :X > 5
    IFT [PR [THE NUMBER IS GREATER THAN 5]]
    IFF [PR [GIVE ME A BIGGER NUMBER]]

    OUTPUT One input (Object). One output (Object).
    OP Makes Object the output of current procedure, and returns control to the caller.
    Example: OUTPUT :SIZE
    Outputs the value of SIZE, which must now be used as input.

    PAUSE No inputs. One output (Message).
    Suspends current procedure and outputs Message.

    REPEAT Two inputs (N, Instructionlist). Same outputs as Instructionlist, if any.
    Runs Instructionlist N times.
    Example: REPEAT 3 [ FD 30 RT 120] Draws a triangle.

    RUN One input (Instructionlist). Same outputs as Instructionlist, if any.
    Runs Instructionlist as if typed directly.
    Example:MAKE "COMMANDS [REPEAT 6 [FD 50 RT 60]
    RUN :COMMANDS
    Draws a hexagon.

    STOP No inputs. No outputs.
    Stops the current procedure and returns con­trol to the caller.

    TEST One input (Pred). No outputs.
    Stores value of Fred (TRUE or FALSE) for subsequent tests.
    Example: See IFTRUE or IFFALSE.

    CTRL-G No inputs. No output.
    Stops current procedure, returns Logo to top level, and prints a ?

    CTRL-W No inputs. No outputs.
    Interrupts whatever is running. Typing any other character resumes what was running.

    CTRL-Z No inputs. No outputs.
    Interrupts whatever is running, causing a PAUSE.

    Logical Operations

    AND Two inputs (Pred!, Pred2). One output (TRUE or
    FALSE).
    Outputs TRUE if Pred! and Pred2 are true; FALSE otherwise.
    # (ANDPred!,Pred2,Pred3,.. .).
    Example: AND :X>5 :X<1O
    Outputs TRUE if X is between 5 and 10.

    NOT One input (Pred). One output (TRUE or FALSE).
    Outputs TRUE if Fred is FALSE; TRUE otherwise. Example: NOT EQUAL" ABC" 123
    Outputs TRUE.

    OR Two inputs (Pred!, Pred2). One output (TRUE or
    FALSE).
    Outputs FALSE if both inputs are false. TRUE otherwise. (OR (Predl, Pred2, Pred3 . . . .)
    # Example: OR :X <5 :X> 10
    Outputs "TRUE if X is outside of 5-10.

    The Outside World

    BUTTONP One input (Paddlenumber). One output (TRUE or
    FALSE).
    Outputs TRUE if button on Paddlenumber is down; FALSE otherwise.

    KEYP No inputs. One output (TRUE or FALSE).
    Outputs TRUE if there is at least one character wait­ing to be read; FALSE otherwise.

    PADDLE One input (Paddlenumber). One output.
    Outputs number between 0 and 255 representing the rotation of the dial on the specified paddle.

    PRINT One input (Object). No outputs.
    PR Prints its input on the screen, followed by a return.
    # (PRINTObjectl Object2 . . .).
    Example: (PR [THE NUMBER IS] :X)
    Prints THE NUMBER IS 7 if the value of X is 7.

    READCHAR No inputs. One output.
    RC Outputs the first character typed. Waits for
    character.
    Example: MAKE" ANS RC

    READLIST No inputs. One output.
    RL Waits for the user to type a line, and outputs in list
    form.
    Example: MAKE" ANS RL

    SHOW One input (Object). No output.
    Prints Object on the screen, followed by a return.

    TYPE One input (object). No output.
    Prints its input on the screen without a return.
    # (TYPE 23 "HELLO [SKIDDOO]
    Example: TYPE [THE PRODUCT OF X*y IS]
    PRINT :X*:Y

    WAIT One input (number). No outputs.
    Causes Logo to pause for number/60 seconds.
    WAIT 120

    Text and Screen Commands

    CLEARTEXT No inputs. No outputs.
    Clears text screen and initializes cursor position.

    CURSOR No inputs. One output.
    Outputs list of column and line numbers of cursor
    position.

    FULLSCREEN Devotes the screen to graphics, with turtle field
    showing.

    SETCURSOR One input (Position). No output.
    Sets the cursor to Position (Lines 0--23, cols. 0--39).
    Example: SETCURSOR [0 12]
    Puts cursor halfway down the left edge of the
    screen.

    SPLITSCREEN Devotes top 20 lines of screen to turtle field. TEXTSCREEN Devotes the entire screen to text.

    CTRL-L Devotes the entire screen to graphics.
    CTRL-S Devotes the top 20 lines of the screen to graphics.
    CTRL- T Devotes the entire screen to text.

    Workspace Management

    BURY One input (Packagename). No outputs.
    Buries all procedures and names in Package.

    ERALL Optional input (Package or Packagelist). No output.
    Erases all unburied procedures and variables (in
    Package or Packagelist) from the workspace.

    ERASE One input (Name or Namelist). No outputs.
    Erases the named procedure(s) from the workspace.
    Example: ERASE [CIRCLE PENT]
    Erases the CIRCLE and PENT procedures

    ERN One input (Name or Namelist). No outputs.
    Erases the named variable(s) from workspace. Example: ERN [VI v2]
    Erases VI and V2 variables.

    ERNS Optional input (Package or Packagelist). No outputs.
    Erases all variables (in Package or Packagelist) from workspace.

    ERPS Optional input (Package or Packagelist).
    Erases all procedures (in Package or Packagelist) from workspace.

    PACKAGE Two inputs (Package, Name or Namelist). No outputs.
    Puts each named procedure in Package.
    Example: PACKAGE "ANIMAL [CAT DOG]
    Puts CAT and DOG in the package ANIMAL.

    PKGALL One input (Package). No outputs.
    Puts into Package all procedures and variables that are not already in packages.

    PO One input (Name or Namelist). No outputs.
    Prints the definitions of the named procedure(s).

    POALL Optional input (Package or Packagelist).
    Prints definition of every procedure and value of every variable (in Package or Packagelist).

    PONS Optional input (Package or Packagelist). No outputs.
    Prints the name and value of every variable (in Package or Packagelist).

    POPS Optional input (Package or Packagelist). No outputs.
    Prints the definition of every procedure in Package or Packagelist.

    POTS Optional input (Package or Packagelist). No outputs.
    Prints the title line of every procedure (in Package or Packagelist).

    UNBURY One input (Package). No outputs.
    Unburies all procedures and names in Package.

    Files

    CATALOG No inputs. No outputs.
    Outputs the names of the N files on the disk.

    DISK No inputs. One output.
    Outputs list of 3 numbers: the disk drive number, the slot number of the disk drive, and the volume number of the disk most recently used for

    CATA­LOG or set with SETDISK.

    ERASEFILE One input (File). No outputs.
    Erases File named "FILE.Logo from disk. Example: ?ERASEFILE "NOTES
    - Erases file named NOTES.LOGO.

    LOAD One or two inputs (File, Package (optional». No outputs.
    Loads the contents of FILE.LOGO into the work­space. If Package is input, it specifies the package everything goes into.
    Example: LOAD "TURTLESTUFF
    Loads file called TURTLESTUFF.LOGO into workspace.

    SAVE One or two inputs (File, Package (optional». No outputs.
    Creates a file named FILE. LOGO and saves all pro­cedures and variables in Package if this is input, and of the entire workspace otherwise.
    Example: SAVE "TURTLESTUFF
    Saves workspace contents in file called TURTLESTUFF. LOGO

    SETDISK One to three inputs (Drive, Slot, Volume (last 2
    optional) . No outputs.
    Sets the disk drive to Drive, slot to Slot, and volume to Volume.
    Files

    CATALOG No inputs. No outputs.
    Prints the names of all files on the disk.

    DISK No inputs. One output. Outputs list of 3 numbers: the disk drive number, the slot number of the disk drive, and the volume number of the disk most recently used for CATA­LOG or set with SETDISK.

    ERASEFILE One input (File). No outputs.
    Erases File named FILE. LOGO from disk. Example: ?ERASEFILE "NOTES
    Erases file named NOTES.LOGO.

    LOAD One or two inputs (File, Package (optional». No outputs.
    Loads the contents of FILE.LOGO into the work­space. If Package is input, it specifies the package everything goes into.
    Example: LOAD "SQUARE
    Loads the file named SQUARE. LOGO from the disk to the workspace.

    SAVE One or two inputs (File, Package (optional». No outputs.
    Creates a file named FILE. LOGO and saves all pro­cedures and variables in Package if this is input, and of the entire workspace otherwise.
    Example: SAVE "SQUARE
    Saves all the workspace contents in a file called SQUARE.LOGO.

    SETDISK One to three inputs (Drive, Slot, Volume (last 2
    optional). No outputs.
    Sets the disk drive to Drive, slot to Slot, and volume to Volume.

    Advanced Primitives or Rarely Used Primitives

    GPROP Two inputs (Name, Prop). One output.
    Outputs the value of Prop property of Name. Example: GPROP "CITY" A4
    Outputs SAN FRANCISCO (see below PPROP for reason).

    PLIST One input(Name). One output.
    Outputs the property list associated with Name.

    PPROP Three inputs (Name, Prop, Object). No outputs.
    Gives Name the property Prop with value Object. Example: PPROP "CITY" A4 [SAN FRAN­CISCO]
    Gives the value of SAN FRANCISCO to the name A4 in the property list CITY.

    PPS Optional input (Package or Packagelist). Variable
    outputs.
    Prints the property list(s) of everything (in Package or Packagelist) in workspace.

    REMPROP Two inputs (Name, Prop). No outputs.
    Removes property pair Prop from the property list of Name.
    Example: REMPROP "CITY" A4
    Removes the name A4 and its value from the prop­erty list CITY.

    CATCH Two inputs (Name, Instructionlist). Same outputs as
    Instructionlist.
    Runs Instructionlist. If a THROW Name is called while Instructionlist is run, control returns to the CATCH.

    ERROR No inputs. One output.
    Outputs six-element list containing information about the most recent error which has not had a message printed or output by ERROR.

    THROW One input (Name). No outputs.
    Used to match name with CATCH name--error if none exists.

    COPYDEF Two inputs (Newname, Name). No outputs.
    Copies the definition of Name to that for Newname.
    Example: COPYDEF "F "FORWARD
    Gives the same definition as FORWARD.

    DEFINE Two inputs (Name, List). No outputs.
    Makes List the definition of the procedure Name. First list in List must be the inputs to Name. Example: DEFINE "BOX [[SIZE] [REPEAT 4 [FD :SIZE RT 90]]]

    PRIMITIVEP One input (Name). One output.
    Outputs TRUE if Name is name of primitive; FALSE otherwise.
    Example: PRIMITIVEP "FORWARD
    Outputs TRUE

    TEXT One input (Name). One output.
    Outputs the definition of Name as a list of lists.

    GO One input (Name). No outputs.
    Used to loop back to instruction following LABEL.
    Example: TO COUNTUP
    MAKE "X 1
    LABEL "LOOP
    PRINT :X
    MAKE "X :X + 1
    GO "LOOP
    END
    It is better to use recursion than to use GO like this.

    LABEL One input (Name). No outputs.
    Used to pass control to instruction using GO.

    NODES No inputs. One output.
    Outputs the number of free nodes.

    RECYCLE No inputs. No outputs.
    Frees as many nodes as possible through a garbage
    collection.

    REPARSE Makes reparsing happen immediately.

    . BPT No input. No output.
    Enters the Apple monitor. Logo may be resumed by typing 803G followed by RETURN.
    .
    CONTENTS Outputs list of currently defined objects, including
    variables, procedures, Logo primitives.

    . DEPOSIT Two inputs (N,A). No outputs.
    Writes A into machine address N.
    .
    EXAMINE One input (Object). One output.
    Outputs the contents of machine address Object (decimal) if Object is a number. Otherwise, outputs the address of the first node of Object.

    . PRINTER One input (N). No outputs.
    Message to Logo that any subsequent information displayed on the screen is to be printed.
    Example: .PRINTER 1
    If printer card is in slot - I, sends text to printer. yse .PRINTER 0 to return off printer and to return to screen.

    Control Characters

    CTRL-A Moves cursor to beginning of line.
    CTRL-B Moves cursor back one character.
    CTRL-C Exits editor, saving changes made.
    CTRL-D Deletes character under cursor.
    CTRL-E Moves cursor to end of line.
    CTRL-F Moves cursor forward one character.
    CTRL-G Emergency STOP, aborts procedure or editing.
    CTRL-H Same as left arrow.
    CTRL-K Kills all text to right of cursor.
    CTRL-L Scrolls screen so current line is at center (editor).
    Same as FULLSCREEN (command level).
    CTRL-M Same as (RETURN).
    CTRL-N Moves cursor down one line.
    CTRL-O Opens a new line at position of cursor.

    CTRL-P Moves cursor up one line.
    CTRL-Q Allows insertion of delimiting characters.
    CTRL-S Same as SPLITSCREEN.
    CTRL- T Same as TEXTSCREEN.
    CTRL-U Same as right arrow.
    CTRL-V Scrolls cursor down text one page.
    CTRL-W Temporary stop. Any other key resumes program.
    Helpful to stop screen scroll.
    CTRL-Y Inserts previous line erased with CTRL-K.
    Useful for moving a line in the editor.
    CTRL-Z Same as PAUSE, except that used during a
    program.

    ESC > Moves cursor to end of editor buffer.
    ESC < Moves cursor to beginning of editor buffer.

    Editing Primitives

    EDIT One input (Name, Namelist). No output.
    ED Starts up LOGO editor.
    Use CTRL-C to leave editor, saving changes. Example: ED "BOX

    EDNS Zero or one input (Package, Package list). No
    outputs.
    With no input, puts all variables in editor.
    With Package input, puts all variables in package in editor.
    With Package list as input, puts all variables in list in editor.

    TO One input (Name-unquoted). No output
    Enters procedure editor.
    Use END to complete procedure definition. Example: TO BOX

    Error Messages

    Apple Logo has 42 error messages for your convenience. Here is a complete list of the error messages. (Only in Ref:(2))

    Number Message
    1 (procedure) IS ALREADY DEFINED
    2 NUMBER TOO BIG
    3 (symbol) ISN'T A PROCEDURE
    4 (symbol) ISN'T A WORD
    5 (procedure) CAN'T BE USED IN A PROCEDURE
    6. (symbol) IS A PRIMITIVE
    7 CAN'T FIND LABEL (symbol)
    8 CAN'T (symbol) FROM THE EDITOR
    9 (symbol) IS UNDEFINED
    10 (procedure) DIDN'T OUTPUT TO (symbol)
    11 I'M HAVING TROUBLE WITH THE DISK
    12 DISK FULL
    13 CAN'T DIVIDE BY ZERO
    14 END OF DATA
    15 FILE ALREADY EXISTS
    16 FILE LOCKED
    17 FILE NOT FOUND
    18 FILE IS WRONG TYPE
    19 TOO FEW ITEMS IN (list)
    20 NO MORE FILE BUFFERS
    21 CAN'T FIND CATCH FOR (symbol)
    22 (symbol) NOT FOUND
    23 OUT OF SPACE
    24 (procedure) CAN'T BE USED IN PROCEDURE
    25 (symbol) IS NOT TRUE OR FALSE
    26 PAUSING. . .
    27 YOU'RE AT TOPLEVEL
    28 STOPPED!
    29 NOT ENOUGH INPUTS TO (procedure)
    30 TOO MANY INPUTS TO (procedure)
    31 TOO MUCH INSIDE PARENTHESIS
    32 TOO FEW ITEMS IN (list)
    33 CAN ONLY DO THAT IN A PROCEDURE
    34 TURTLE OUT OF BOUNDS
    35 I DON'T KNOW HOW TO (symbol)
    36 (symbol) HAS NO VALUE
    37 ) WITHOUT (
    38 I DON'T KNOW WHAT TO DO WITH (symbol)
    39 DISK VOLUME MISMATCH
    40 DISK IS WRITE PROTECTED
    41 (procedure) DOESN'T LIKE (symbol) AS INPUT
    42 (procedure) DIDN'T OUTPUT


    Alphabetical Listing of Logo Primitives


    AND
    ARCTAN
    ASCII
    BACK
    BACKGROUND
    BURY
    BUTFIRST
    BUTLAST
    BUTTONP
    CATALOG
    CATCH
    CHAR
    CLEAN
    CLEARSCREEN
    CLEARTEXT
    CO
    COPYDEF
    COS
    COUNT
    CURSOR
    DEFINE
    DEFINEDP
    DISK
    DOT
    EDIT
    EDNS
    EMPTYP
    EQUALP
    ERALL
    ERASE
    ERASEFILE
    ERN
    ERNS
    ERPS
    ERROR
    FENCE
    FIRST
    FORWARD
    FPUT
    FULLSCREEN
    GPROP
    GO
    HEADING
    HIDETURTLE
    HOME
    IF
    IFFALSE
    IFTRUE
    INT
    ITEM
    KEYP
    LABEL
    LAST
    LEFT
    LIST
    LlSTP
    LOAD
    LOCAL
    LPUT
    MAKE
    MEMBERP
    NAME
    NAMEP
    NODES
    NOT
    NUMBERP
    OR
    OUTPUT
    PACKAGE
    PADDLE
    PAUSE
    PEN
    PENCOLOR
    PENDOWN
    PENERASE
    PENREVERSE
    PENUP
    PKGALL
    PLiST
    PO
    POALL
    PONS
    POPS
    POS
    POTS
    PPROP
    PPS
    PRIMITIVEP
    PRINT
    PRODUCT
    QUOTIENT
    RANDOM
    READCHAR
    READLIST
    RECYCLE
    REMAINDER
    REMPROP
    REPARSE
    REPEAT
    RERANDOM
    RIGHT
    ROUND
    RUN
    SAVE
    SCRUNCH
    SENTENCE
    SETBG
    SETCURSOR
    SETDISK
    SETHEADING
    SETPC
    SETPEN
    SETPOS
    SETSCRUNCH
    SETX
    SETY
    SHOW
    SHOWNP
    SHOWTURTLE
    SIN
    SPLITSCREEN
    SQRT
    STOP
    SUM
    TEST
    TEXT
    TEXTSCREEN
    THING
    THROW
    TO
    TOWARDS
    TYPE
    UNBURY
    WAIT
    WINDOW
    WORD
    WORDP
    WRAP
    XCOR
    YCOR

    Providence:
    Scanned from:

    (1) 88 Apple Logo Programs: Mitchell Waite, Donald Martin, Jennifer Ann Martin. SAMS. The Waite Group 1984. ISBN0-672-22343-0

    And also in (2) Apple Logo Programming Primer: Donald Martin, Stephen Prata, Marijane Paulsen.SAMS. The Waite Group 1984. ISBN0-672-22342-2

    Summary of Logo Features

    Here is a summary of the features that contribute to Logo's simplicity:

    1. Logo is interpreted and interactive.
    This means that Logo will try to carry out your commands right away, one line at a time. An interpreted language makes it extremely easy to explore new pro­gramming ideas. An interactive language is the major characteristic that makes BASIC easy to use. A noninteractive language like FORTRAN or PASCAL must be "compiled."

    2. Logo is modular.
    Most modern languages today (except BASIC) share this property. This char­acteristic of Logo allows programming projects to be broken up into several smaller simpler parts. Each program is called a "procedure."

    3. Logo is extensible.
    Logo has certain built-in key words like "PRINT" and "FORWARD." These key words are called "primitives," words that the computer already knows. However, you can create new procedures which are used just like the primi­
    tives. An extensible language uses the same "syntax" for both primitives and
    programmed procedures.

    4. Logo uses nontyped variables.
    Most languages have several "types" of variables: numbers, strings, arrays, integers, real, etc. Logo uses words (which includes numbers) and lists of words. The same variable in Logo can be an integer in one part of the program and a character later on.

    5. Logo uses automatic dynamic memory allocation.
    This means you don't have to worry about or declare the size of lists or words before (or while) you use them.

    6. Logo has dynamic scoping.
    This means that a Logo procedure has access to the local variables of the
    procedure that calls it. [3]

    7. Logo uses helpful error messages.
    Logo error messages explain what caused the error and where the error occurs.
    Debugging programs becomes easy to do.

    8. Logo has turtle-graphics.
    Turtle-graphics provide a marvelous way to begin learning a new language. The visual feedback is highly motivating and not only teaches the language's vocabulary and structure, but also builds a foundation for the ideas of struc­tured programming.

    Even though Logo is easy to use, it is quite powerful and open-ended for the fol­lowing reasons:

    1. Logo is modular.
    Like most languages (except BASIC), Logo uses modular procedures that give structure to programs. Complex procedures are built up from simple ones. This is the same property described above.
    2. Logo is recursive.

    This property of Logo, which allows a procedure to call itself, makes Logo
    extremely powerful as seen throughout the book.

    3. Logo can use complex data objects.
    Logo can use words, lists, lists of lists, and programs as input to procedures. Most older languages do not have this property.

    Languages that have these or similar properties; that is languages that are both simple and powerful, can be summed up in one phrase. Logo is a "high-level lan­guage" that begins to provide us with the capability of our natural language, Eng­lish. Low-level languages talk to machines, while high-level languages talk to people.


    Providence:
    Scanned from:

    (1) 88 Apple Logo Programs: Mitchell Waite, Donald Martin, Jennifer Ann Martin. SAMS. The Waite Group 1984. ISBN0-672-22343-0

    And also in (2) Apple Logo Programming Primer: Donald Martin, Stephen Prata, Marijane Paulsen.SAMS. The Waite Group 1984. ISBN0-672-22342-2

    [3] Edit suggested BH

    The Authors

    I have included this page because of the names it mentions- which may help others to judge the completeness of the manual.


    The Waite Group, Inc. is a San Rafael, California-based producer of high-quality books on personal computing. Acknowledged as a leader in the industry, the Waite Group has written and produced over thirty titles, including such best sellers as Unix
    Primer Plus, Computer Graphics Primer, CP/M Primer, CP/M Bible and Soul of
    CP/M. Internationally known and award-winning, Waite Group books are distrib­uted world-wide and have been repackaged with the products of such major compa­nies as Epson, Wang, Xerox, Tandy-Radio Shack, NCR, and Exxon Office Systems. Mr. Waite, president of the Waite Group, has been involved in the computer industry since 1976 when he bought his first Apple I computer from Steven Jobs.
    Donald Martin has served as chairman of the Physics, Astronomy and Energy Science Department at the College of Marin in Kentfield, CA. He received his B.A. from the University of California, Berkeley and his M.A. from San Jose State University. He has long been interested in the problems that students have in developing their reason­ing and critical thinking skills. Recently, this interest has led him to the Logo lan­guage, a course he now teaches at the college. Mr. Martin is coauthor of Unix Primer Plus, C Primer Plus, and 88 Apple Logo Programs. His hobbies include reading, run­ning, and traveling with his wife, Kay, and his family.

    Marijane Axtel Paulsen is the chief instructional officer at the Santa Clarita Com­munity College in Valencia, California. She received her B.S. degree from Arizona State University, her M.S. degree from Whittier College, and her Ph.D. from the University of Southern California. The former dean of science and technology at Indian Valley Colleges in Marin, California, her primary interests include teacher training and computer literacy. She and her husband, Paul, enjoy travel and cross country skiing.

    Stephen Prata is a professor of physics and astronomy at the College of Marin in Kentfield, California. He received his B.S. from the California Institute of Technol­ogy and his Ph.D. from the University of California, Berkeley. His association with computers began with the computer modeling of star clusters. He is currently involved with teaching UNIX at the College of Marin. Mr. Prata is coauthor of UNIX Primer Plus and C Primer Plus. He and his wife, Kathleen, live in San Rafael, CA. Their interests include travel, table tennis, and photography.

    Acknowlegements


    This book, like its companions, Logo Primer for the IBM PC and PCjr, 88 Apple Logo Programs, and 88 IBM Logo Programs, has roots tunneling deeply in many directions. First of all we would like to thank the creators of Logo, the researchers and scientists-primarily at MIT -who have created and nurtured this magnificent language.
    We would like to offer special thanks to Dr. Lois Flynn, who brought Brian Harvey to San Francisco State University in the summer of 1981 and who made it possible for Brian to bring Logo to a few enthusiastic teachers. Just as important, Brian provided a version of Logo to run under UNIX at the College Of Marin in Kentfield, California, planting the seed that flow­ered into this book.
    Thanks also to Jon Foreman, who keeps UNIX and Logo running smoothly at the College Of Marin and Indian Valley Colleges and special thanks to Bob Petersen, Bernd Enders, Fred Schmitt, Dan Putterman, Nancy Zimfirescu, .and Dick Rodgers, who keep everything else running smoothly, too.
    Many, many students contributed ideas, enthusiasm and positive feed­back during the germination period of the past two years. Their contribu­tions are reflected throughout the book. Specifically, special thanks to Martin Parlan, Toby Rein, Jason Schwager, Larry Jacobson, Jim Karas, Robert Riddel, Mike Maxwell, Tony Fardella, Ray Gruenig, Frank Adam­son, Laurie McDaniel, and Cal Astrin.
    Special thanks to Judith Griesgraber, Gordon Bainbridge, Ted Gilchrist
    and Steven Cross for their early contributions to the book.
    Many thanks to Bob Johnson for his help with the illustrations and fan­
    tastic cartoons.
    The good people at Howard W. Sams can always be counted on to pro­
    vide strong, generous support.
    Likewise, Michael Pardee and Kim House of the Waite Group were help­
    ful in many ways.
    Finally, we'd like to publicly thank our family and friends for their many
    sacrifices and loving support at all times.
    If any misconceptions or errors are found in this book, please do not
    fault our friends and associates; it is our doing.

    Live implementations


    Logos that have a new version in 2003 are:
    E-Slate Logo
    * Elica
    Microworlds EX
    * NetLogo
    ProLOGO
    PyLogo
    Terrapin Logo
    TurtleTracks.net
    UCBLogo

    Logos with a last new version in 2002 are:
    ACSLogo
    AJLogo
    Doolitle
    Graphic Logo
    Helios
    Imagine
    Logo Graphico
    MonoLOGO
    MSWLogo
    StarLogo
    TKTSLogo
    VLogo
    VRMath

    Logos with no data about their last version (but declared as active):
    PIC Logo
    Rabbit Logo
    Win-Logo

    Elica

    Elica

    Synopsis


    Elica is a modern Logo dialect that provides a cohasive link between procedural, functional and object-oriented styles of programming through a small yet elegant Logo core. The main difference at first sight is that Elica can do 3D graphics in real-time.


    FYI: here is the list of features in Elica's NOOP:

    1. variables
    a) creating variables
    b) using variables
    c) executing variables
    2. objects
    a) creating objects
    - by assignment
    - field by field
    - by modification
    - from classes
    b) destroying objects
    - automatic
    - manual
    c) other operation with objects
    - identifying the class of an object
    - nested objects
    - graphical objects
    3. classes
    a) class definition
    - functional definition
    - natural definition
    b) polymorphism
    c) inheritance
    - class inheritance
    - conditional inheritance
    - multple inheritance
    d) methods
    - overwritten
    - abstract
    4. other applications of variables
    a) attributes
    b) static variables
    c) libraries
    - loading libraries
    - defining libraries
    d) arrays
    - array notation
    - associative arrays
    e) databases
    f) sets
    g) indirect access



    FMSLogo

    jLogo

    Synopsis

    This is a java logo, with list commands etc, which will interface with a floor turtle. It senses whether it should use the English or French command set.

    Authors comments

    - yes, my Logo is not only an implementation of Turtle like graphic primitives, but a whole set of the language to play with algorithms.
    - my website is both French + English, so is jLogo: the currently available version automatically switches from French to English depending your system language. For the next version to be released, the settings will be user selectable. However, I have made no real documentation in English (yet ?). I have not developed a tool to localize the command set and interface, even if the program is made to handle this: adding other languages is technically piece of cake as integrated from the basis in the program, but without the availability of an external tool for the community, I may only add myself German to French and English.
    - as stated on my website, I wrote this logo to be compatible with a logo distributed in France in mid eighties, written by French publishers Nathan to run on Thomson computers that equipped schools at that time . I also included primitives from P_LOGO, also made by a French publisher, Editions Profil, running on Macintosh in the 90's.

    This Logo has been made to be used in schools, it is currently used in several maths classes in several high schools and some primary schools in France, and as far I was told a bit in Belgium and Canada.

    The forthcoming event is its control of a robotic turtle I designed for it three years ago, freeing turtles from computer screens into the real world.
    (some edits in italics C.Rutter)

    PRIMITIVE Set taken from Reference guide 3.3.2006


    Primitive Catégorie Type Page
    * Arithmétique Fonction 2
    + Arithmétique Fonction 2
    - Arithmétique Fonction 2
    .EFT Espace de travail Commande 2
    .EFT Variables Commande 2
    / Arithmétique Fonction 3
    < Prédicats divers Prédicat 3
    = Prédicats divers Prédicat 3
    > Prédicats divers Prédicat 3
    ? Prédicats divers Prédicat 3
    ? Prédicats divers Prédicat 3
    ?SOMME Arithmétique Fonction 4

    ABS Arithmétique Fonction 4
    APROP Propriétés Fonction 4
    ARC Tortue Commande 4
    ARCCOS Arithmétique Fonction 5
    ARCSIN Arithmétique Fonction 5
    ARCTAN Arithmétique Fonction 5
    ARRONDIS Arithmétique Fonction 5
    ATTENDS Temps Commande 5
    ATTENDSMUSIQUE Temps Commande 6
    ATTENDSTORTUE Temps Commande 6
    ATTRAPEERREUR Controle de l'execution Commande 6
    AV Tortue Commande 6
    AVANCE Tortue Commande 6

    BC Tortue Commande 6
    BC? Tortue Prédicat 7
    BEEP Espace de travail Commande 7
    BOUTON? Souris Prédicat 7

    CAP Tortue Fonction 7
    CAR Mots et Listes Fonction 8
    CB Tortue Fonction 8
    CC Tortue Fonction 8
    CERCLE Tortue Commande 8
    CF Tortue Fonction 9
    CFT E/S Fonction 9
    CHARGE Editeur Commande 9
    CHOSE Variables Fonction 9
    CLOS Tortue Commande 9
    COMPTE Mots et Listes Fonction 10
    CONTENU Espace de travail Fonction 10
    COS Arithmétique Fonction 10
    CT Tortue Commande 11
    CTX E/S Fonction 11

    DATE Temps Fonction 11
    DEBUTEMPS Temps Commande 11
    DEFINIS Espace de travail Commande 11
    DEGRE Arithmétique Fonction 12
    DER Mots et Listes Fonction 12
    DIFF Arithmétique Fonction 12
    DISTANCE Tortue Fonction 12
    DIV Arithmétique Fonction 13
    DONNE Variables Commande 13
    DONNEDEF Espace de travail Commande 13
    DPROP Propriétés Commande 13
    DUREE Musique Fonction 14

    EARC Tortue Commande 14
    EC E/S Commande 14
    ECRIS E/S Commande 14
    ECG Tortue Commande 14
    ECRISG Tortue Commande 14
    ED Editeur Commande 15
    EDITEUR Editeur Commande 15
    EDITE Editeur Commande 15
    EDTOUT Editeur Commande 15
    EFN Variables Commande 15
    EFP Espace de travail Commande 15
    EFPROPS Propriétés Commande 15
    EGAL? Prédicats divers Prédicat 16
    ELLIPSE Tortue Commande 16
    ENR Tortue Commande 16
    ENT Arithmétique Fonction 16
    ESECTEUR Tortue Commande 17
    ET Prédicats divers Fonction 17
    EXEC Controle de l'execution Commande 17
    EXP Arithmétique Fonction 17

    FAUX Prédicats divers Fonction 18
    FCAP Tortue Commande 18
    FCB Tortue Commande 18
    FCC Tortue Commande 18
    FCFG Tortue Commande 19
    FCFT E/S Commande 19
    FCT E/S Commande 19
    FDUREE Temps Commande 19
    FEN Tortue Commande 20
    FIN Espace de travail Commande 20
    FINSTRUMENT Musique Commande 20
    FINTEMPS? Temps Prédicat 20
    FOCTAVE Musique Commande 20
    FPOLICE Tortue Commande 21
    FPOLICEG Tortue Commande 21
    FPOS Tortue Commande 21
    FSTYLE Tortue Commande 21
    FSTYLEG Tortue Commande 22
    FTAILLE Tortue Commande 22
    FTAILLEG Tortue Commande 22
    FTEMPO Musique Commande 23
    FTORTUE Tortue Commande 23
    FVOIE Musique Commande 23

    HASARD Arithmétique Fonction 23
    HEURE Temps Fonction 23

    IM Espace de travail Commande 24
    IMNS Variables Commande 24
    IMPROP Propriétés Commande 24
    IMPROPS Propriétés Commande 24
    IMTOUT Variables Commande 24
    IMTS Espace de travail Commande 24

    INSTRUMENT Musique Fonction 25
    INSTRUMENTS Musique Fonction 25
    ITEM Mots et Listes Commande 25

    JOUE Musique Commande 25
    JOUR Temps Fonction 26

    LC Tortue Commande 26
    LISCAR E/S Fonction 26
    LISMOT E/S Fonction 26
    LISSOURIS Souris Fonction 26
    LISTE Mots et Listes Fonction 27
    LISTE? Mots et Listes Prédicat 27
    LL E/S Fonction 27
    LOG Arithmétique Fonction 27
    LOGO Controle de l'execution Commande 27
    LPROP Propriétés Fonction 28

    MD Mots et Listes Fonction 28
    ME Tortue Commande 28
    MEMBRE? Mots et Listes Fonction 28
    MEMOIRE Espace de travail Fonction 29
    MINUS Arithmétique Fonction 29
    MONTRE E/S Commande 29
    MOT Mots et Listes Fonction 29
    MOT? Mots et Listes Prédicat 30
    MP Mots et Listes Fonction 30
    MT Tortue Commande 30

    NBCOUL Tortue Fonction 30
    NEGAL? Prédicats divers Prédicat 31
    NETTOIE Tortue Commande 31
    NOM? Mots et Listes Prédicat 31
    NOMBRE? Mots et Listes Prédicat 31
    NOMINSTRUMENT Musique Fonction 31
    NON Prédicats divers Fonction 32
    NOTES Musique Fonction 32
    NZERO? Prédicats divers Prédicat 32

    OCTAVE Musique Fonction 32
    ORIGINE Tortue Commande 32
    OU Prédicats divers Fonction 32
    OUX Prédicats divers Fonction 33

    PH Mots et Listes Fonction 33
    PLACE Espace de travail Fonction 33
    PLG? Prédicats divers Prédicat 33
    PLGE? Prédicats divers Prédicat 33
    PLP? Prédicats divers Prédicat 33
    PLPE? Prédicats divers Prédicat 34
    POLICE Tortue Fonction 34
    POLICES Espace de travail Fonction 34
    POS Tortue Fonction 34
    POSSOURIS Souris Fonction 35
    POUR Espace de travail Commande 35
    PREM Mots et Listes Commande 35
    PRIM? Mots et Listes Prédicat 35
    PROC? Mots et Listes Prédicat 35
    PROD Arithmétique Fonction 36
    PUISSANCE Arithmétique Fonction 36

    QUOT Arithmétique Fonction 36

    RADIAN Arithmétique Fonction 37
    RAMENE Espace de travail Commande 37
    RC Arithmétique Fonction 37
    RE Tortue Commande 37
    RECULE Tortue Commande 37
    RECYCLE Espace de travail Commande 38
    REMPLISPOLY Tortue Commande 38
    RENDS Controle de l'execution Commande 38
    REPETE Controle de l'execution Commande 38
    RESTE Arithmétique Fonction 38
    RPROP Propriétés Fonction 39

    SAUVE Espace de travail Commande 39
    SAUVED Editeur Commande 39
    SD Mots et Listes Fonction 39
    SECTEUR Tortue Commande 40
    SI Controle de l'execution Commande 40
    SIN Arithmétique Fonction 40
    SOIT Variables Commande 40
    SP Mots et Listes Fonction 41
    STOP Controle de l'execution Commande 41
    STYLE Tortue Fonction 41
    STYLEG Tortue Fonction 41

    TAILLE Tortue Fonction 42
    TAILLEG Tortue Fonction 42
    TAN Arithmétique Fonction 42
    TD Tortue Commande 42
    TOURNEDROITE Tortue Commande 42
    TE Tortue Commande 43
    TEMPO Musique Fonction 43
    TEXTE Espace de travail Fonction 43
    TG Tortue Commande 43
    TOURNEGAUCHE Tortue Commande 43
    TGRAPH Tortue Fonction 43
    TORTUE Tortue Fonction 44
    TORTUES Tortue Fonction 44
    TUETORTUE Tortue Commande 44

    UNICODE Mots et Listes Fonction 45

    VE Tortue Commande 45
    VERS Tortue Fonction 45
    VIDE? Mots et Listes Prédicat 45
    VISIBLE? Tortue Prédicat 46
    VOIE Musique Fonction 46
    VOIES Musique Fonction 46
    VRAI Prédicats divers Fonction 46
    VT E/S Commande 46

    ZERO? Prédicats divers Prédicat 47

    Most of these primitives are clear
    PREM and DER (Premiere Derniere) are FIRST and LAST, SP and SD SaufPremier SaufDerniere are BUTFIRST BUTLAST.
    The Turtle holds a Crayon not a pen.
    POLICES- are Fonts.



    Liogo

    Synopsis

    Authors Comments


    My name is Lionel Laské, I'm the author of Liogo, a Logo compiler for .NET: http://liogo.sourceforge.net.I'm relatively new in the Logo community (<1 year) but because I've write a Logo compiler, I think that I have a very clear comprehension of how Logo works.
    With Liogo, my objective was to be fully compliant with UCBLogo and, when it have sense, with FMSLogo/MSWLogo. So every new Liogo command is hardly tested first with UCBLogo and with FMSLogo to ensure that it will works exactly in the same way in Liogo. Every new release of Liogo will enhance this compatibility.

    I share with you the wish that it will be great to have a "standard logo". So I will be proud to help you in your Great Logo Atlas.

    Regards. Lionel.

    LIOGO Procedure Reference

    Following is the Full list of commands and operations available in Liogo.

    as of 1.03.2006

    BoolLib

    true
    false
    equal?
    equalp
    notequal?
    notequalp
    less?
    lessp
    lessequal?
    lessequalp
    greater?
    greaterp
    greaterequal?
    greaterequalp
    before?
    beforep
    member?
    memberp
    substring?
    substringp
    number?
    numberp

    GraphicLib

    forward
    fd
    left
    lt
    right
    rt
    back
    bk
    pendown
    pd
    penup
    pu
    pendown?
    pendownp
    setxy
    setx
    sety
    setpos
    setheading
    seth
    home
    arc
    pos
    xcor
    ycor
    heading
    hideturtle
    ht
    showturtle
    st
    clean
    clearscreen
    cs
    shown?
    shownp
    setbackground
    setbg
    setscreencolor
    setsc
    setpencolor
    setpc
    setpensize
    pencolor
    pc
    background
    screencolor
    bg
    towards
    pensize
    setpalette
    palette


    ListLib

    first
    last
    item
    butfirst
    bf
    butlast
    bl
    fput
    lput
    length
    count
    list?
    listp
    empty?
    emptyp
    list
    sentence
    se
    word
    word?
    wordp
    combine
    reverse
    gensym
    firsts
    butfirsts
    pick
    remove
    uppercase
    lowercase

    MathLib

    sum
    product
    difference
    quotient
    abs
    sign
    remainder
    modulo
    int
    round
    sqrt
    power
    exp
    log10
    ln
    sin
    radsin
    cos
    radcos
    arctan
    radarctan
    iseq
    rseq
    random
    rerandom
    pi

    CompilLib

    rrunresult
    run
    map
    map.se
    apply
    invoke
    foreach
    thing
    logoversion
    load
    unload

    IOLib

    print
    show
    type
    readlist
    readword
    parse
    runparse

    LogoWriter

    Espańol - Inglés Inglés - Espańol
    .dentro .in
    .deposita .deposit
    .examina .examine
    .fuera .out
    .primitivas .primitives
    .version .version
    .versión .version
    activa run
    ad fd
    adelante forward
    alto stop
    altotodo stopall
    anotador clipboard
    arctan arctan
    ascii ascii
    at bk
    atras back
    atrás back
    azar random
    beventos clearevents
    bg cg
    bm cc
    bnombre clearname
    bnombres clearnames
    borra delete
    boton? button?
    botón? button?
    bpag cp
    bpág cp
    bt ct
    busca search
    butiles cleartools
    bútiles cleartools
    cada each
    cambiadir chdir
    car char
    cardebajo charunder
    cardebajocursor cursorchar
    carga load
    cargadib loadpic
    cargatexto loadtext
    cierra lock
    cierto true
    color color
    colordebajo colorunder
    colorf bg
    colortexto tc
    contenido contents
    coorx xcor
    coory ycor
    copia copy
    copiaarch copyfile
    corta cut
    cos cos
    cosa thing
    cp pd
    creadir mkdir
    cuab cd
    cuad cf
    cuando when
    cuar cu
    cuat cb
    cuenta count
    da make
    davuelta flip
    de rt
    dejapag leavepage
    dejapág leavepage
    derecha right
    descierra unlock
    desmarca unselect
    dile tell
    diractual currentdir
    directorios directories
    disco disk
    distancia distance
    dos dos
    elarch erasefile
    eliminaarch erasefile
    eliminadir rmdir
    eliminapag erpage
    eliminapág erpage
    elpag erpage
    elpág erpage
    encontrado? found?
    entero int
    es pr
    escribe print
    esnombres printnames
    espacio space
    espaciod dspace
    espera wait
    estampa stamp
    et ht
    falso false
    fcolor setc
    fcolorf setbg
    fcolortexto settc
    fcoma setcomma
    fdisco setdisk
    fdl eol
    ffig setsh
    fig shape
    figuras shapes
    fin end
    finpag bottom
    finpág bottom
    fpos setpos
    fpostexto settextpos
    fpunto setpoint
    fr se
    frase sentence
    frente? front?
    frumbo seth
    fx setx
    fy sety
    guardadib savepic
    guardapag savepage
    guardapág savepage
    guardatexto savetext
    hacia towards
    hazlista parse
    identico? identical?
    idéntico? identical?
    igual? equal?
    imppant printscreen
    imptexto printtext
    imptexto80 printtext80
    incm type
    inserta insert
    insertacm type
    item item
    iz lt
    izquierda left
    leecar readchar
    leelista readlist
    leelistacm readlistcc
    limpia clean
    lista list
    lista? list?
    listaarch filelist
    listapag pagelist
    listapág pagelist
    listautiles toollist
    listaútiles toollist
    ll rl
    llcm rlcc
    longtexto textlen
    marca select
    marcado selected
    menos minus
    menosprimero butfirst
    menosultimo butlast
    menosúltimo butlast
    miembro? member?
    mn shownames
    mpr bf
    mt st
    muestra show
    muestranombres shownames
    mul bl
    múl bl
    no not
    nombra name
    nombrapag namepage
    nombrapág namepage
    nombre? name?
    np np
    nuevapag newpage
    nuevapág newpage
    numero? number?
    número? number?
    o or
    origen home
    orígen home
    palabra word
    palabra? word?
    paleta paddle
    pantprev prescreen
    pantsig nextscreen
    para to
    pb pe
    pdl sol
    pega paste
    pi px
    pide ask
    pinta fill
    ponprimero fput
    ponultimo lput
    ponúltimo lput
    pos pos
    poscursor cursorpos
    postexto textpos
    ppr fput
    pr first
    primero first
    prinpag top
    prinpág top
    pul lput
    púl lput
    quien who
    quién who
    rc sqrt
    re op
    recicla recycle
    recobra restore
    redondeo round
    reemplaza replace
    renombra rename
    repite repeat
    reporta output
    resto remainder
    rg rg
    rotulo label
    rumbo heading
    rótulo label
    sen sin
    si if
    siotro ifelse
    sombrea shade
    sp pu
    tab tab
    tecla? key?
    todas all
    tono tone
    tortugalenta slowturtle
    tortugarapida fastturtle
    tortugarápida fastturtle
    tp gp
    traefigs getshapes
    traepag getpage
    traepág getpage
    traeutiles gettools
    traeútiles gettools
    ul last
    ultimo last
    unespacio sspace
    vacia? empty?
    vacía? empty?
    y and
    ítem item
    úl last
    último last
    .deposit .deposita
    .examine .examina
    .in .dentro
    .out .fuera
    .primitives .primitivas
    .version .versión
    .version .version
    all todas
    and y
    arctan arctan
    ascii ascii
    ask pide
    back atrás
    back atras
    bf mpr
    bg colorf
    bk at
    bl múl
    bl mul
    bottom finpág
    bottom finpag
    butfirst menosprimero
    butlast menosúltimo
    butlast menosultimo
    button? botón?
    button? boton?
    cb cuat
    cc bm
    cd cuab
    cf cuad
    cg bg
    char car
    charunder cardebajo
    chdir cambiadir
    clean limpia
    clearevents beventos
    clearname bnombre
    clearnames bnombres
    cleartools bútiles
    cleartools butiles
    clipboard anotador
    color color
    colorunder colordebajo
    contents contenido
    copy copia
    copyfile copiaarch
    cos cos
    count cuenta
    cp bpág
    cp bpag
    ct bt
    cu cuar
    currentdir diractual
    cursorchar cardebajocursor
    cursorpos poscursor
    cut corta
    delete borra
    directories directorios
    disk disco
    distance distancia
    dos dos
    dspace espaciod
    each cada
    empty? vacía?
    empty? vacia?
    end fin
    eol fdl
    equal? igual?
    erasefile elarch
    erasefile eliminaarch
    erpage eliminapág
    erpage eliminapag
    erpage elpág
    erpage elpag
    false falso
    fastturtle tortugarápida
    fastturtle tortugarapida
    fd ad
    filelist listaarch
    fill pinta
    first pr
    first primero
    flip davuelta
    forward adelante
    found? encontrado?
    fput ponprimero
    fput ppr
    front? frente?
    getpage traepág
    getpage traepag
    getshapes traefigs
    gettools traeútiles
    gettools traeutiles
    gp tp
    heading rumbo
    home orígen
    home origen
    ht et
    identical? idéntico?
    identical? identico?
    if si
    ifelse siotro
    insert inserta
    int entero
    item ítem
    item item
    key? tecla?
    label rótulo
    label rotulo
    last úl
    last último
    last ul
    last ultimo
    leavepage dejapág
    leavepage dejapag
    left izquierda
    list lista
    list? lista?
    load carga
    loadpic cargadib
    loadtext cargatexto
    lock cierra
    lput púl
    lput ponúltimo
    lput ponultimo
    lput pul
    lt iz
    make da
    member? miembro?
    minus menos
    mkdir creadir
    name nombra
    name? nombre?
    namepage nombrapág
    namepage nombrapag
    newpage nuevapág
    newpage nuevapag
    nextscreen pantsig
    not no
    np np
    number? número?
    number? numero?
    op re
    or o
    output reporta
    paddle paleta
    pagelist listapág
    pagelist listapag
    parse hazlista
    paste pega
    pd cp
    pe pb
    pos pos
    pr es
    prescreen pantprev
    print escribe
    printnames esnombres
    printscreen imppant
    printtext imptexto
    printtext80 imptexto80
    pu sp
    px pi
    random azar
    readchar leecar
    readlist leelista
    readlistcc leelistacm
    recycle recicla
    remainder resto
    rename renombra
    repeat repite
    replace reemplaza
    restore recobra
    rg rg
    right derecha
    rl ll
    rlcc llcm
    rmdir eliminadir
    round redondeo
    rt de
    run activa
    savepage guardapág
    savepage guardapag
    savepic guardadib
    savetext guardatexto
    se fr
    search busca
    select marca
    selected marcado
    sentence frase
    setbg fcolorf
    setc fcolor
    setcomma fcoma
    setdisk fdisco
    seth frumbo
    setpoint fpunto
    setpos fpos
    setsh ffig
    settc fcolortexto
    settextpos fpostexto
    setx fx
    sety fy
    shade sombrea
    shape fig
    shapes figuras
    show muestra
    shownames mn
    shownames muestranombres
    sin sen
    slowturtle tortugalenta
    sol pdl
    space espacio
    sqrt rc
    sspace unespacio
    st mt
    stamp estampa
    stop alto
    stopall altotodo
    tab tab
    tc colortexto
    tell dile
    textlen longtexto
    textpos postexto
    thing cosa
    to para
    tone tono
    toollist listaútiles
    toollist listautiles
    top prinpág
    top prinpag
    towards hacia
    true cierto
    type incm
    type insertacm
    unlock descierra
    unselect desmarca
    wait espera
    when cuando
    who quién
    who quien
    word palabra
    word? palabra?
    xcor coorx
    ycor coory

    Providence:http://mondragon.angeltowns.net/paradiso/LogowriterComandos.html

    MSWLogo

    MSWLogo

    Synopsis

    Frozen at Version 6.5b, this Windows distro takes Berkeley Logo and adds to it a simple GUI- with many controls such as ComboBox, Sliders and Radio Buttons. As it was small enough to fit on a 1.44Mb floppy, schools to provide a copy for their pupils to use at home. It benefits from a good paper and now downloadable textbook. The Great Logo Adventure. It is available in English, Spanish, French, German, etc.

    Analysis


    Primary Source




    NetLogo

    NetLogo

    Synopsis


    NetLogo is a programmable modeling environment for simulating natural and social phenomena. It is particularly well suited for modeling complex systems developing over time. Modelers can give instructions to hundreds or thousands of independent "agents" all operating concurrently. This makes it possible to explore the connection between the micro-level behavior of individuals and the macro-level patterns that emerge from the interaction of many individuals.

    Analysis


    Primary Source


    Star Logo

    Synopsis

    StarLogo is a specialized version of the Logo programming language. With traditional versions of Logo, you can create drawings and animations by giving commands to graphic "turtles" on the computer screen. StarLogo extends this idea by allowing you to control thousands of graphic turtles in parallel. In addition, StarLogo makes the turtles' world computationally active: you can write programs for thousands of "patches" that make up the turtles' environment. Turtles and patches can interact with one another -- for example, you can program the turtles to "sniff" around the world, and change their behaviors based on what they sense in the patches below. StarLogo is particularly well-suited for Artificial Life projects.

    StarLogo is a programmable modeling environment designed to help you model and explore the workings of decentralized systems, such as bird flocks, traffic jams, and market economies.


    Versions

    A Macintosh-only version of StarLogo has been available for several years. In February 2000, we released the first Java-based version of StarLogo, designed to run on all different types of computers. We called this new version StarLogo 1.0, and we renamed the Macintosh-only version MacStarLogo. (While the Java-based version of StarLogo runs on Macintosh computers, Mac users with older 68K and PowerMac computers might prefer to use MacStarLogo for performance reasons.) In August 2000 we released version 1.1. It included updated features and bug fixes, and in 2001 we made another update to version 1.2, in 2002 we updated to 2.0, and 2004 we updated to 2.1.

    Analysis


    Primary Source



    Star Logo TNG

    Synopsis


    StarLogo TNG is The Next Generation of StarLogo modeling and simulation software. While this version holds true to the premise of StarLogo as a tool to create and understand simulations of complex systems, it also brings with it several advances. Through TNG it is hoped to

    1. Lower the barrier to entry for programming by making programming easier.
    2. Entice more young people into programming through tools that facilitates making games.
    3. Create compelling 3D worlds that encompass rich games and simulations.

    The "preview" edition was released in January 2006, with a final version expected in late spring/summer 2006. It is Java based and is available on Windows (Mac OS X and Linux versions coming soon). Some features include:

    • 3D models in MD3 (Quake 3) and OBJ formats
    • Terrain editor for designing levels
    • Joystick and keyboard inputs
    • 1st and 3rd person views
    • "Say" bubbles to communicate text
    • Easy yet powerful and innovative visual programming language


    Analysis


    Primary Source






    Terrapin Logo

    UCBLogo


    Synopsis

    Otherwise known as Berkeley Logo, this is especially important as it has been used as the starting point for many derivatives. It is well documented and is the version used in the text Computer Science Logo Style- the most complete post graduate level text book.

    Analysis

    Entering and Leaving Logo
    Tokenization
    Data Structure Primitives
    Constructors
    Selectors
    Mutators
    Predicates
    Queries
    Communication
    Transmitters
    Receivers
    File Access
    Terminal Access
    Arithmetic
    Numeric Operations
    Predicates
    Random Numbers
    Print Formatting
    Bitwise Operations
    Logical Operations
    Graphics
    Turtle Motion
    Turtle Motion Queries
    Turtle and Window Control
    Turtle and Window Queries
    Pen and Background Control
    Pen Queries
    Workspace Management
    Procedure Definition
    Variable Definition
    Property Lists
    Predicates
    Queries
    Inspection
    Workspace Control
    Control Structures
    Template-Based Iteration
    Macros
    Error Processing
    Error Codes
    Special Variables

    Primary Source


    XLogo

    Synopsis

    XLogo is a live French written Logo. It is written in Java and runs on Windows and Linux. It has graphic primitives, and list handling primitives. It does have template functions. It can be run in English, French, Spanish, Portuguese and Welsh.


    Analysis

    Primary Source - XLogo Website

    NEWS

    16/11/05: Last Release: 0.9.18b

    0.9.18
    - bug fixed on lacalmake and clearscreen
    - new primitives added "animation", "refresh" and "imagesize".
    "animation" and "refresh" could be used to create little animation.
    They coud be used too in the aim to accelelrate the execution of a program
    "imagesize" gives a list which contains the screen size of the drawing zone.
    - Minor bugs fixed. ("fillzone", "first" et "word", "make" ...).

    You can download now two manuals:
    - A tutorial of 9 lessons on Logo for everybody (only in french)
    - The reference guide for XLogo.

    Manual updated.

    Help for translation:

    Xlogo accept 6 languages: french, english, spanish, portuguese, esperanto and welsh (partial). There are several translations of primitives and messages that are incomplete for welsh. if you want to help me, go to this page

    XLogo is known to work successfully with Windows (95, 98, 2000, XP) and LINUX (Debian, Mandrake 9.*, SUSE 8.2)
    XLogo is a Logo interpreter written in Java. It currently supports three languages (French, English and Welsh), and is licensed under the GPL. This program is therefore free as in freedom and free as in beer. (Full license in English)

    Logo is a language developed in the 70s by Seymour Papert. It is an excellent language to begin learning programming with, and teaches the basics of things like loops, tests, procedures, etc. The user is able to move an object called a "turtle" around the screen using commands as simple as forward, back, right, and so on. At each move, the turtle leaves a trail behind it, and it is therefore possible to create drawings. Operations on lists and words are also possible.

    For example, forward 100 right 90 will make the turtle move 100 steps forward, and then turn the turtle 90° to the right.

    This graphical approach makes Logo an ideal language for beginners, and especially easy for children!


    Java

    As noted above, XLogo is written in Java. Java is a language which has the benefit of being cross-platform; that is, XLogo will run no matter which operating system is installed. Whether you are using Linux, Windows or MacOS, XLogo will work without problems.

    IMPORTANT: In order to run an appliction written in Java, you must install the Java Runtime Environment (JRE) on your computer. This is free, and can be downloaded from the following address:

    (a download of around 45 minutes on a 56K modem. The JREs are listed in the first column; choose the one corresponding to your operating system. If you can't find it, click here)

    Downloads


    1. First of all, the executable (a *.jar file; all you need to do is double-click on it to launch the XLogo application)

    XLogo
    xlogo0.9.18.jar (around 300Kb)
    (To download with some browsers, you will need to right-click and then select "Save Link As...")
    Remember: In order to run the program, you need to have installed a JRE first (see previous paragraph).


    2. XLogo Documentation:

    Installation guide ----> Detailed instructions for installing XLogo

    Latest update 08/2005:
    Documentation in Latex format manual.zip
    Documentation in pdf format manual.pdf
    Documentation in zipped html
    manual-xlogo-en.zip
    Read the manual
    3. Source code
    It is not necessary to download the XLogo source (the program's operating code) unless you want to modify the program code or compile the program yourself.

    To do

    You can help for translation here

    Contact me


    If you find a bug, or you have suggestions about the program, or questions about installing it, feel free to contact me on this address: xlogo@free.fr
    (To report a bug, please include in your email the contents of the editor, and the last few commands in the command log.)

    Links

    http://www.lea-linux.org : (in French) An excellent site for all you need to know about Linux.
    http://www.debian.org : The Debian distribution. My favourite ...
    http://olivier.sc.free.fr : (in French) Olivier SC's site: A mine of information on the Logo language and its history.

    Thanks:

    I particularly want to thank:
    - Alexandre Soares
    for the portuguese translation of manual and site.
    - Marcelo Duschkin for the spanish translation of manual and site.
    - Kevin Donnelly for the English translations of the manual and site, and the Welsh translation of the program.
    - Olivier SC for his suggestions, and for the priceless tests which allowed me to debug the XLogo interpreter

    KTurtle

    Synopsis

    The KTurtle is a free software to KDE environment (Linux boxes). Download the file kturtleBR.zip (zipped file, 3,6kb) in order to run it in Portuguese. Read instructions in the "leiame" file. See more information about the KTurtle project at http://docs.kde.org/en/HEAD/kdeedu/kturtle/index.html.

    Primitive set

    kturtleBR.zip
    http://docs.kde.org/pt_BR/HEAD/kdeedu/kturtle/index.html
    For the Portuguese localisation

    A seguir, a lista de comandos em portuguęs. Procurei traduzir de modo semelhante ao SuperLogo tanto quanto possível (sugestőes de traduçőes săo bem-vindas, pois ainda estou a completá-la):
    portuguęs (English)
    se (if)
    senăo (else)
    até (for)
    return (return)
    break (break)
    enquanto (while)
    paracada (foreach)
    in (in)
    faça (do)
    repita [rpt] (repeat)
    tat (reset)
    espere (wait)
    e (and)
    ou (or)
    năo (not)
    aprenda (learn)
    execute (run)
    limpe [lmp] (clear)
    mudexy (go)
    mudex (gox)
    mudexy (goy)
    parafrente [pf] (forward)
    paratrás [pt] (backward)
    direçăo [dir] (direction)
    paraesquerda [pe] (turnleft)
    paradireita [pd] (turnright)
    centro (center)
    espessuradolápis [mudeespl] (setpenwidth)
    usenada [un] (penup)
    uselápis [ul] (pendown)
    colordolápis [mudecl] (setfgcolor)
    cordefundo [mudecf] (setbgcolor)
    tamanhodatela [mudett] (resizecanvas)
    apareçatat [at] (show)
    desapareçatat [dt] (hide)
    press [sp] (press)
    change [sc] (change)
    tamfonte (fontsize)
    sorteie (random)
    enquadra (wrapon)
    desenquadra (wrapoff)




    Historic implementations

    P_Logo


    Synopsis

    P_Logo by the Editions Profil was running on Atari
    first in 1988, and on Compatibles PC then on Macintosh
    (Apple).

    Profil don't work anymore on Logo. I do propose for free, an old version for DOS running again on Windows XP on this page :

    http://olivier.sc.free.fr/logosc/plogosc/telechar.htm

    The fact is that I did work, in France, with Seymour Papert at the CMIRH (1982-86) and, later, in my Website, I create pages about Logo as 'Papy Logo' :


    http://olivier.sc.free.fr/logosc/logopapy.html


    Olivier Schmidt Chevalier



    Feature Tree

    #cmsimple $output =cmrticket();#


    Feature Debate


    object-orientation

    robotics

    music

    GUIs

    animation

    parallelism

    multimedia


    Algorithm Showcase



    Primitive Glossary


    Alphabetical Listing of Apple Logo Primitives


    AND
    ARCTAN
    ASCII
    BACK
    BACKGROUND
    BURY
    BUTFIRST
    BUTLAST
    BUTTONP
    CATALOG
    CATCH
    CHAR
    CLEAN
    CLEARSCREEN
    CLEARTEXT
    CO
    COPYDEF
    COS
    COUNT
    CURSOR
    DEFINE
    DEFINEDP
    DISK
    DOT
    EDIT
    EDNS
    EMPTYP
    EQUALP
    ERALL
    ERASE
    ERASEFILE
    ERN
    ERNS
    ERPS
    ERROR
    FENCE
    FIRST
    FORWARD
    FPUT
    FULLSCREEN
    GPROP
    GO
    HEADING
    HIDETURTLE
    HOME
    IF
    IFFALSE
    IFTRUE
    INT
    ITEM
    KEYP
    LABEL
    LAST
    LEFT
    LIST
    LlSTP
    LOAD
    LOCAL
    LPUT
    MAKE
    MEMBERP
    NAME
    NAMEP
    NODES
    NOT
    NUMBERP
    OR
    OUTPUT
    PACKAGE
    PADDLE
    PAUSE
    PEN
    PENCOLOR
    PENDOWN
    PENERASE
    PENREVERSE
    PENUP
    PKGALL
    PLiST
    PO
    POALL
    PONS
    POPS
    POS
    POTS
    PPROP
    PPS
    PRIMITIVEP
    PRINT
    PRODUCT
    QUOTIENT
    RANDOM
    READCHAR
    READLIST
    RECYCLE
    REMAINDER
    REMPROP
    REPARSE
    REPEAT
    RERANDOM
    RIGHT
    ROUND
    RUN
    SAVE
    SCRUNCH
    SENTENCE
    SETBG
    SETCURSOR
    SETDISK
    SETHEADING
    SETPC
    SETPEN
    SETPOS
    SETSCRUNCH
    SETX
    SETY
    SHOW
    SHOWNP
    SHOWTURTLE
    SIN
    SPLITSCREEN
    SQRT
    STOP
    SUM
    TEST
    TEXT
    TEXTSCREEN
    THING
    THROW
    TO
    TOWARDS
    TYPE
    UNBURY
    WAIT
    WINDOW
    WORD
    WORDP
    WRAP
    XCOR
    YCOR

    Translation of XLogo Primitives into English, French, Spanish, Portuguese, Welsh, ??
    This can be used as a list of XLogo Primitives.

    AND

    ARCTAN

    ASCII

    BACK

    BACKGROUND

    BURY

    BUTFIRST

    BUTLAST

    BUTTONP

    CATALOG

    CATCH

    CHAR

    CLEAN

    CLEARSCREEN

    CLEARTEXT

    CO

    COPYDEF

    COS

    COUNT

    CURSOR

    DEFINE

    DEFINEDP

    DISK

    DOT

    EDIT

    EDNS

    EMPTYP

    EQUALP

    ERALL

    ERASE

    ERASEFILE

    ERN

    ERNS

    ERPS

    ERROR

    FENCE

    FIRST

    FORWARD

    FPUT

    FULLSCREEN

    GPROP

    GO

    HEADING

    HIDETURTLE

    HOME

    IF

    IFFALSE

    IFTRUE

    INT

    ITEM

    KEYP

    LABEL

    LAST

    LEFT

    LIST

    LlSTP

    LOAD

    LOCAL

    LPUT

    MAKE

    MEMBERP

    NAME

    NAMEP

    NODES

    NOT

    NUMBERP

    OR

    OUTPUT

    PACKAGE

    PADDLE

    PAUSE

    PEN

    PENCOLOR

    PENDOWN

    PENERASE

    PENREVERSE

    PENUP

    PKGALL

    PLiST

    PO

    POALL

    PONS

    POPS

    POS

    POTS

    PPROP

    PPS

    PRIMITIVEP

    PRINT

    PRODUCT

    QUOTIENT

    RANDOM

    READCHAR

    READLIST

    RECYCLE

    REMAINDER

    REMPROP

    REPARSE

    REPEAT

    RERANDOM

    RIGHT

    ROUND

    RUN

    SAVE

    SCRUNCH

    SENTENCE

    SETBG

    SETCURSOR

    SETDISK

    SETHEADING

    SETPC

    SETPEN

    SETPOS

    SETSCRUNCH

    SETX

    SETY

    SHOW

    SHOWNP

    SHOWTURTLE

    SIN

    SPLITSCREEN

    SQRT

    STOP

    SUM

    TEST

    TEXT

    TEXTSCREEN

    THING

    THROW

    TO

    TOWARDS

    TYPE

    UNBURY

    WAIT

    WINDOW

    WORD

    WORDP

    WRAP

    XCOR

    YCOR


    Manual Repository


    Live

    Berkeley Logo Complete manual in typewritten format.
    aUCBLogo 4.685 an online manual
    MSW Logo v6.4 an online manual

    Elica Version 5.0- an online manual
    Elica An easy guide.
    Liogo A skeleton guide

    NetLogo an online manual and in pdf
    Star Logo site
    Star Logo TNG site

    LogoWriter. Una html en Español

    XLogo- A pdf (The French Xlogo)
    Terrapin Logo online help site
    rLogo- a web page (Java based- browser Logo)
    LSCI All versions documentation site
    LCSI MicroWorlds 2.0 Vocabulary pdf
    PyLogo- a paper on standards
    jLogo- pdf manual v1 en français
    P_Logo- french

    Historic

    Logotron Logo for BBC Model B- A zip of what is described as the LCSI Logo for the BBC Model B.
    WinLogo Una pdf en Español.
    TinyLogo On Palm

    JavaLogo Entierement en français. Dead 2001.



    Online Book Texts

    CSLS Computer Science Logo Style: Brian Harvey
    • Symbolic Computing, a Logo programming text that concentrates on natural language processing rather than the graphics most people associate with Logo.
    • Advanced Techniques, in which discussions of more advanced Logo features alternate with sample projects using those features, with commentary on the structure and style of each. Plus the complete Berkeley Logo Programming manual.
    • Beyond Programming, brief introductions to six college-level computer science topics.

    The Great Logo Adventure: Jim Muller. Download a zip.
    • A Introductory book aimed at adults working with Key Stage 3 /Junior High School.

    Robert Buskirk's 2006 pdf
    Problem Solving with Logo.
    • A detailed work of 200 pages that addresses all aspect of Logo, featuring MSW Logo and Terrapin Logo. This is used as a text book for undergraduate courses at The Eastern Kentucky University , US.


    Book Links



    There are several Logo related manuals in the Trailing Edge Library- they are not available on-line according to the web site.

    A Ebay search on Apple Logo gives a list of 39 ISBN numbers.

    Links from PyLogo

    Other Logos

    For reference, here are some other free logo implementations:

    • Logo Foundation: a good place to start looking at Logo and learning about Logo.
    • UCBLogo, intended as a lowest-common-denominator of Logos, it's a straight forward, pure, and fairly complete implementation of Logo. PyLogo was written with UCBLogo's dialect in mind.
    • MSWLogo, Windows version of UCBLogo.
    • ProLOGO, written in Prolog
    • Turtle Tracks: Java implementation of Logo, also based on the UCBLogo dialect.
    • Boxer: an academic Logo, with novel ideas of program representation and IDE. I personally find this language very interesting, and would love to see some of its ideas in PyLogo, or even better in Python itself. The actual project seems to be inactive.
    • StarLogo: an academic highly concurrent Logo programming (lots of independent turtles acting simultaneously)
    • StarLogoT: an academic Logo language with an emphasis on concurrency and parallelism. Seems like a more active offshoot of StarLogo.
    • NetLogo: an academic Logo language oriented on concurrency and independent agents. Related to StarLogoT.
    • Elica: an academic OO Logo, with strong graphics capabilities.
    • aUCBLogo: a fork of UCBLogo.
    • Scheme Logo: a Logo interpreter written in Scheme.
    • Logo in Scheme: a Logo to Scheme compiler (written by me).
    • TinyLogo: Logo for the Palm.
    • rLogo: Logo that can be distributed in applet form (as a special plugin; Turtle Tracks might actually be easier to distribute).
    • XLogo, Mac OS X Logo (incomplete language?)
    • Logo nyelv, Hungarian, written in Turbo Pascal,
    • JavaLogo, appears to be turtle graphics, without the Logo language.
    • MonoLOGO: a .NET Logo implementation, seems focused on the language more than the graphics at this point.
    • SharpLOGO: C# implementation, I believe just turtle graphics without the Logo language.
    • Galapago: Java turtle graphics with an incomplete Logo language, focused on Fractals.
    • Tortue, written in Java (incomplete language?)
    • KLogo-Turtle: KDE turtle graphics, incomplete Logo language.
    • KTurtle: related to KLogo-Turtle in some way; pretty new.
    • Logo++: a C++ Logo-like language (with significant language changes)

    Other Links

    Arnies Logo Links

    Daniel's Site in Spanish

    Alexandre R Soares Site in Portuguese


    George Mill's MSWLogo Links Page

    Logo.Net French Links Page

    PapyLogo Links page- described as the most important francophone site.

    Logo Foundation Links Page

    Including online collection of Logo Update from 1993 to 2001, articles on the launch of 'historic' logo distos.


    Log
    otron Imagine WebSite- Logo references no manual.


    Maths (sic) Net Links
    A UK teachers site.
    Terrapin Logo Manufacturer's Site.

    DMOZ Open Directory- Logo Implementations

    FAQ's with early history(Hamburg).

    Test Page CMRFC

    #CMSimple $output=cmrfc("basic"); #

    There's a bright golden haze on the meadow.

    Test Counter


    #CMSimple $output=cmrcounter(); #

    Test Guestbook

    #cmsimple $output .= GBlist();#

    #CMSimple $output.= GBlist();#

    Help file for CMRFC- Commentary

    History


    When writing pages of Documentation, I needed a way that my users could constructively interact. A similar system can be seen if you look at the php site. At times it was appropriate to show the comment trail-then again...

    It emerged that in any one page you may need
    • Heading
    • Existing Text
    • The comment trail
    • A preview
    • A Data entry form
    • Selection Buttons
    Each one of these sections may occur- but need not.
    Two of the sections can occur in differing positions in the list as indicated by the italics. The Heading may occur twice in one page.
    • Heading
    • Existing Text
    • The comment trail
    • A preview
    • A Data entry form
    • Selection Buttons
    • The Comment Trail
    • Heading
    • Existing Text
    The ordering of the list is controlled by two settings in the config file.
    A user may wish to specify which sections appear on selecting the page,
    • basic- just showing two buttons
    • display- showing the comment trail
    • prepare- showing the comment trail and the dataentry form.
    This is achieved by passing this word as a parameter.

    This may be required to work like a passive guestbook, or may be required to inform the webmaster everytime a comment is posted, this is controlled by a setting in the config file.

    Conceptually this may be viewed as a multi-guestbook system.

    Having got a working system, that is administered through plugin_loader, it was time to look at security and presentation.

    Security- with permission, I have added as options many of the features that Geniz featured in his Genizbook Guestbook. These can be enabled by settings in the config.

    I have also added a simple system to prevent multiple postings using the browser refresh button

    Presentation- the first version was driven by tables, thus confusing presentation with function. This has been removed and uses css, which can thus be changed by the user. In doing this a lot of the source code has been made cleaner and more robust.

    So why CMRFC? It started with my three initials, and the idea Request for Comment. I havent a clue what this plugin actually is- Kommentar- sounds right -but Commentary doesn't. I am sticking with CMR for my plugins', but FC- any suggestions?

    Further features

    • A whitelist of approved posters.
    • A moderated site- where 'members' can post directly, and visitors post to a pending file. The Moderator has a two pane editor so he can cut and paste from the pending file to the datafile.
    • Notification emails may be sent to the moderator.
    • Email addresses can be withheld from the screen display- but sent to the moderator.
    • Ticket Numbers can be attached to the posts.
    • Embedded css divs- to assist with formatting.

    Future wishlist

    To add bbcode formatting
    More sophisticated moderating editor.

    Calling the commentary.

    Place this line anywhere on the page, usually at the bottom.

    #-CMSimple $output=cmrfc("basic"); #

    Alternatively:
    #-CMSimple $output=cmrfc("display"); #
    #-CMSimple $output=cmrfc("prepare"); #
    Note: Remove the '-'.
    There is no dot before the '='.
    The parameter is all in lower case.


    Installing the cmrfc commentary package.


    This plugin operates like others. So firstly Svarrers plugin loader must be present, when that is functioning you can install this one.

    On you remote site- in the rootdirectory- is a directory called plugins. FTP the entire cmrfc directory into plugins.

    Administrating the Commentaries

    If you have found this help file- then you already are familiar with system. It is essential to set up the configuration options.

    Editing the Options

    Logon. On the available plugins bar- select the cmrfc- plugin.
    You must select the Edit Config. You will be presented with these choices.


    Cmrfc

    maxlength:
    dateformat:
    formbeforecomments:
    formbeforecontents:
    mostrecentfirst:
    enableemailsend:
    remoteemail:
    landaftersave:
    enablehtml:
    enableticketnumber:
    uniqueticketnumber:
    enablevalidation:
    enablecaptcha:
    enabletimer:
    enablewhitelist:
    enablemoderatedlist:
    enablependingsaveall:
    enableemailhiding:
    opentagopen:
    opentagclose:
    closetagopen:
    closetagclose:


    There  are ten options that can be enabled-1024 combinations!.
    This has been tested for the options shown. In most cases use the word 'true' to set and 'false' to unset an option. Leaving a box empty will lead to unpredictable and untested results.

    What do they do?
    Maxlength is obvious.

    The next two affect the way the page is presented. Contents is the text content of the page, while comments refers to the file that contains user added remarks.

    The postings file can be ordered in forward or reverse order.

    The next two specify whether the webmaster should be notified when a comment is posted. You must set his email address and not use mine!

    Land after save- defines whether, after save, you see the postings again or go back to the start. Options:: basic, prepare, display

    Enablehtml lets you use the text you post, but false strips the tags.

    The next two allow a ticket number to be generated. This can be used to form a simple online 'help desk' or when inviting users to proofread some documentation. It may be you wish to have a ticket stream for each page(unique) or a common ticket stream. Ticket numbers help when you are debugging a plug in such as this.

    The enable validation option- requires the user to match a random number. It is half way to using 'Captcha'.

    The enable captcha option- is not yet implemented.
    The enable timer option- is not yet implemented.

    The next three options are to do with establishing a whitelist. That is a group of visitors who are allowed to post. This can be extended to form a rudimentary moderated list-which has to be enabled. If you done have a moderated site you still may wish to save the unauthorised postings- hence the saveall option.

    Some users may opt not to publish their email addresses on the screen, but this is an option to ensure that no emails are ever displayed.

    The opentag options are for formatting 'whitelist'- this can be changed to be compatible with other protocols


    Using the css divs

    The entire plugin is formatted with css divs.

    The following container ids are provided
    #wrapperouter       :contains the whole plugin
    #blockform                : the container for the dataentry  form
    #blockpreview       : the container called in editing routine
    #blockcomments        : Comments stored in the remarks file
    #blockcommentslower : The same if that option is  selected

    And the following classes
    .buttonbox
    .buttonboxonform
    .postheader         : Used in each block
    .postbody            : Used in each block
    .warningline

    Editing the files

    Plugin Main settings is where you edit the files. If 'ModeratedList' is enabled you have a two pane editor- the top pane is the file you have selected and the botom pane is a pending file. You can cut and paste between the two files. Remember to save your work using the Save button.

    Running a white list.

    The white.lst file contains the data needed to approve a member. Beneath it, is pending.lst where the details of all visitors are saved. If you wish to make a visitor into a member- cut the line from the pending file, and paste it into the white.lst. The search is a pure text search, so extra characters or careless pasteing is tolerated. Remember to save your work using the Save button.

    Running a moderated site

    Select the page you wish to edit. Look in the bottom pane for the comment you wish post- cut it from the initial <hr> to the end of line. Now paste it to the top or bottom of the file in the top pane. You can leave the other line (the filename) in paste or just erase it. Remember to save your work using the Save button.