Hacker News new | ask | show | jobs
by taeric 2343 days ago
Pretty sure Logo was originally implemented with a lisp, no?

Don't fall into the trap thinking lisp is just functional.

3 comments

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?
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.

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

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:

https://github.com/pgtan/puzzles/blob/master/baum1.lg

https://github.com/jrincayc/ucblogo-code

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?
To be fair, that is the lisp spirit. They wanted to do something, imagined what that language would look like. And then implemented it in lisp. :)