[net.lang] Logo Versions?

jack@rlgvax.UUCP (Jack Waugh) (12/10/83)

Does anyone know about the different versions of the programming
language Logo?  As far as I can tell, there is no tendency toward
standardization.  I have learned the Apple Logo dialect well enough
to get the flavor of it.  Another version that got a better review
is Terrapin/Krell Logo.  Does anyone know if Tarrapin/Krell has the
"RUN" operator, which executes a list as a program, or the operators
that convert a list to a procedure (remembered as though the programmer
had entered it as "TO" whatever...) and vice versa?

For those that have never heard of Logo, it's a very interesting
language to which to expose first time computer programmers and
children.  I remember an article stating that children of age 5
had programmed in it.  Promotional literature from Apple claims
age 3.  Logo has LISP-style lists.  The programs, however, unlike
LISP programs, are not written out as lists, but in a prettier syntax.
Recursion, of course, is permissible.  Tail recursion does not push
the stack.  A call on a programmer-written procedure looks just like
an invocation of a primitive.  In at least the Apple dialect, programmers
can define control structures such as WHILE.

emjej@uokvax.UUCP (12/14/83)

#R:rlgvax:-146500:uokvax:9000011:000:883
uokvax!emjej    Dec 12 12:03:00 1983

The language sold under the name "Color Logo" for the Color Computer
lacks lists and many of the things that go into Logo, but it's still
a neat hack and worth considering for teaching the young to program.

What it does that is particularly slick (and provoked this note) is
the multitasking facilities it provides, via the command

	HATCH <name to give turtle> <command and parameters>

which creates a turtle with the specified name (well, a number
between 1 and 254) which is assigned the task of executing the
specified procedure. Turtles can send one another mail (well, a
16-bit two's complement integer) (not to mention sending mail
"to whom it may concern," which is read by the next turtle that
tries to read mail).

I DO hope that the developers of Color Logo will consider expanding
the language now that they have OS-9 and more memory to play with...

						James Jones

ucbesvax.turner@ucbcad.UUCP (12/14/83)

#R:rlgvax:-146500:ucbesvax:4500005:000:1562
ucbesvax!turner    Dec 14 01:48:00 1983

I looked at some LOGO's with a view toward implementation a few months
back.  I was surprised that I ever thought it was a great language.  (I
did, about 14 years ago, but all I had ever used before was BASIC.)

Perhaps my view toward implementation biased me somewhat, but I can't
stand Logo syntax now.  Sure, user-defined functions look the same
as primitives, but typing ":" in front of all variable identifiers
to get them properly evaluated is the other side of the coin.  Very
hard to parse properly.

The "RUN" command does allow you to write your own control structures,
but the resulting contortions in the interpreter hardly make it worth
it.  (Those turtles are aptly named--the move slowly.)  Why didn't they
just define more primitive control structures?  Or, if RUN was supposed
to illustrate the self-referentiality of the interpreter, why mystify
that process with sugary syntax?  The problems with parsing result
to poor execution rates for RUN, since RUN's argument must be reparsed
each time, to avoid the possibility of corrupting the internal state of
the LOGO interpreter.

And it's far from standard--TI LOGO is somewhat different from Apple.
Both have their advantages and their drawbacks.  The original MIT
dialect was better--less English-like but more regular.

But yeah...it's better than starting them on BASIC.  I'm still waiting
for a really good language for children.  LOGO makes computers look
both smarter and slower than they actually are.  (The computers, that is,
not the kids.)
---
Michael Turner (ucbvax!ucbesvax.turner)

andree@uokvax.UUCP (12/20/83)

#R:rlgvax:-146500:uokvax:9000013:000:1103
uokvax!andree    Dec 18 15:39:00 1983

Gee, mike (ucbvax!turner), it seems like most of your complaints about
LOGO deal with either things that are hard to implement, or things
that have been implemented poorly - specifically things which result
in lack of speed. Sounds like what you want is assembler. Easy to implement,
and everything is *FAST*.

Before the flames start, I KNOW that's not what you want. I just carried
your complaints to the extreme. I don't hold features that are hard to
implement against a language. Usually, those are the features about a 
language that are NICEST. Inefficiencies in the implementation I hold
against the implementor.

As a final comment, I actually AGREE with you about the badness in
Logo. Logo is mostly LISP, with a different syntax and some (relatively
minor) extensions. The things you picked on are due to the change in
syntax. Many people (me among them) view this change as a definite mistake.
I think the idea behind the change was that `infix is more natural.' As
far as I know, nobody has actually done a study of this. If someone knows
of such studies, I'd like to hear about it.

	<mike

smh@mit-eddie.UUCP (Steven M. Haflich) (12/21/83)

	Logo is mostly LISP, with a different syntax and some
	(relatively minor) extensions. The things you picked on are due
	to the change in syntax. Many people (me among them) view this
	change as a definite mistake.  I think the idea behind the
	change was that `infix is more natural.' As far as I know,
	nobody has actually done a study of this. If someone knows of
	such studies, I'd like to hear about it.

I don't know of any real studies, but how can one forget the
"Calculator Wars" between HP (Polish) and TI (infix) in the 70's?
I suspect most of the "research" [?] "published" [in ads] was done by
the respective organizations' marketing departments :-).

Steve Haflich