Logo basically was Lisp -- a small parser on top of MACLISP.
There were some later small implementations (e.g. for the Apple II) that were written from scratch and didn't need to implement all of Lisp (e.g. lambda, plists, etc).
Does that make logo the sole truly successful form of m-expressions?
Re:Lisping at JPL (2002)
by lonelappde on Monday January 20, 2020 @03:43PM
(#22101941)
No, because m+expressions are syntax and logo has a different syntax, and because Mathematica is a successful use of something much closer to m-expressions.
>Pretty sure Logo was originally implemented with a lisp, no?
Logo is a bare-bones Lisp disguised as an educational language.
I recently picked up 'Turtle Geometry' from Abelson and diSessa. And it was a mind blowing experience.
Really makes you think what kind of fun programming was about back then and its potential. Frankly speaking you begin to feel programming has kind of lost its way.
Re:Lisping at JPL (2002)
by lonelappde on Monday January 20, 2020 @03:47PM
(#22101970)
All the easy problems are solved. Logo and processing and scratch exist Programming didn't lose its way, it move forward on its way.
It is still somewhat there. Just competing with a lot more advanced things now.
I also picked up that book. What are you using to work through the exercises?
I'm using TerrapinLogo. Its free but not quite, but works for the most part. Also supports multiple turtles.
But it is also a excellent concatenative (left-to-right) language with brilliant procedure definition mechanism. Here as example, an oneliner to draw ascii christmas tree, we made with the kid last year:
? tanne.print tanne.output tanne.shift tanne.split 19 3 3
Re:Lisping at JPL (2002)
by lonelappde on Monday January 20, 2020 @03:46PM
(#22101958)
It's a bit silly to hide the work in a method call and call it a "one-liner".
What are you using to execute this? The Python module?
Berkeley Logo (brand new in version 6.1). I have compiled two versions, with and without wx.
The file with the procedures is on github:
So, someone had lisp, thought "I want to teach people programming", and instead of just teaching lisp directly, chose to implement something quite different in syntax and spirit?
Don't fall into the trap thinking lisp is just functional.