Live data from Hacker News

What Is a Logo-Like Language?

maxhallinan.com

21–30 of 39 posts

Re: What Is a Logo-Like Language?

#21

I do not think of myself as a closure or a functor, unlike the Logo programmer and the turtle, but the elements of a language are features of a world I inhabit: Here is the main difference between Logo and other languages. It’s called “Embodied Cognition” in academia.

It's a difference in programmers, at least. I do absolutely think of myself as a functor or closure, when I'm working at that level. (Dijkstra must be rolling in his grave.) Or a structure, moving through a queue, guarded by a serial dispatch queue ... I've realized a lot about data flow by being stuck in traffic.

My programs are apparently anthropomorphic, too: I start every new feature by adding "// TODO: i need ..." comments everywhere, and then go back and do what they say. Someone watching me once remarked that my program wrote itself.

Full disclosure: I learned Logo when I was young, and then Lisp as a teenager -- two of my first languages -- so perhaps I was infected from the start.

Now I'm kind of curious how else people think of programs. Do functions and objects not have a shape and position and rhythm? How do you model them? They're not literally just symbols, are they?

Re: What Is a Logo-Like Language?

#22
post #17

>Does this mean that the use of the language is more important than the language itself? The answer is a resounding yes. C became popular because it is the native language of Unix. It was Rails that made Ruby popular. JavaScript is popular because it is implemented by all the browsers. Objective-C became popular because of iOS, and similarly with Swift. Visual Basic was one of the most popular languages for a time be…

Objective-C became popular because it was the Mac language.

In the pedantic sense, Objective-C became popular because it was the NeXT language. But by the numbers, its massive popularity was due to the iOS app store gold rush, not NeXT STEP or MacOS or OS/X.

Re: What Is a Logo-Like Language?

#23

We wrote a 3D version of Apple Logo [1] and we're going to be rolling out a tutorial for it for kids + running classes... [1] https://paleotronic.com/software/microm8/help/micrologo/

I love your 3D Apple ][ emulator too!

https://paleotronic.com/software/microm8/

Re: What Is a Logo-Like Language?

#24
post #20

Earlier quoted context omitted.

Logo's intention was not to make it easy to get graphics on the screen. Turtle Geometry is a mathematics made for learning. And it is only one part of the bigger picture of problem solving, using a computer both to solve problems, and to learn about how to solve them.

99% of logo users only drew imperative pictures, and that it why logo is famous.

Terrapin published my LOGO Adventure on the C64 LOGO Utilities disk as an example of a simple non-graphical game that showed off Logo’s list processing and functional programming capabilities.

https://medium.com/@donhopkins/logo-adventure-for-c64-terrap...

Paleotronic has ported it to their Apple Logo, which runs in their amazing 3D Apple ][ emulator!

https://paleotronic.com/2018/11/10/logo-adventure-for-apple-...

https://paleotronic.com/software/microm8/

Re: What Is a Logo-Like Language?

#25

Does anybody still have a copy of the file from the MIT-AI Lab PDP-10 called "AI: HUMOR; LOGO TURTLE" or something like that? I haven't been able to find a copy myself, but I remember reading it and have confirmed that it existed, and that it was published in SIGART around 1982. It was Leigh Klotz's sarcastic response to a Defense Department questionnaire to Terrapin about how their technology could be used to kill p…

The person I would ask is Brian Harvey, but that's just a guess. It sounds pretty funny regardless.

Re: What Is a Logo-Like Language?

#26
post #21

I do not think of myself as a closure or a functor, unlike the Logo programmer and the turtle, but the elements of a language are features of a world I inhabit: Here is the main difference between Logo and other languages. It’s called “Embodied Cognition” in academia.

It's a difference in programmers , at least. I do absolutely think of myself as a functor or closure, when I'm working at that level. (Dijkstra must be rolling in his grave.) Or a structure, moving through a queue, guarded by a serial dispatch queue ... I've realized a lot about data flow by being stuck in traffic. My programs are apparently anthropomorphic, too: I start every new feature by adding "// TODO: i need .…

I remember code as places I've been (like a memory palace), that are connected to each other by the control and data flow. So my memories of old code are quite concrete, tangible, and first-person, and I can reconstruct the details and context by remembering the other places it was connected to, and my (the program counter's) journey from place to place that I took when I first encountered those locations (loci).

https://en.wikipedia.org/wiki/Method_of_loci

Re: What Is a Logo-Like Language?

#27

Does anybody still have a copy of the file from the MIT-AI Lab PDP-10 called "AI: HUMOR; LOGO TURTLE" or something like that? I haven't been able to find a copy myself, but I remember reading it and have confirmed that it existed, and that it was published in SIGART around 1982. It was Leigh Klotz's sarcastic response to a Defense Department questionnaire to Terrapin about how their technology could be used to kill p…

The person I would ask is Brian Harvey, but that's just a guess. It sounds pretty funny regardless.

Good guess: I was just discussing it with Brian Harvey, Ken Kahn, Andrea diSessa, and Leigh Klotz, who said he has a copy, which I've asked him to please share! Then I saw this LOGO discussion. Plate of shrimp!

I love the great work Brian Harvey and Jens Mönig have done with Snap! It's like a non-watered-down version of Scratch, with the full power of Scheme (first class functions, lexical closures, special forms, continuations, build your own blocks, user definable control structures, extensible in JavaScript).

https://snap.berkeley.edu

Snap! 5 is here!

https://news.ycombinator.com/item?id=20309162

Here's the elegant Snap! visual Y Combinator:

https://imgur.com/cOq8tvR

Visual Lambda: Note how the gray block after the "report", shrink-wrapped around the "call (fn) with inputs (fn) []", is a visual "lambda". It looks like a "gasket" or "baggie" that insulates the code inside from being immediately evaluated, returning a closure instead.

Here's an excellent mind-blowing example by Ken Kahn of what's possible: teaching kids AI programming by integrating Snap! with existing JavaScript libraries and cloud services like AI, machine learning, speech synthesis and recognition, Arduino programming, etc:

AI extensions of Snap! for the eCraft2Learn project

https://ecraft2learn.github.io/ai/

>The eCraft2Learn project is developing a set of extensions to the Snap! programming language to enable children (and non-expert programmers) to build AI programs. You can use all the AI blocks after importing this file into Snap! or Snap4Arduino. Or you can see examples of using these blocks inside this Snap! project.

https://github.com/ecraft2learn/ai

http://lntrg.education.ox.ac.uk/presentation-of-ai-cloud-ser...

What's the difference between Snap! and Scratch?

https://news.ycombinator.com/item?id=20311457

LLOGO MACLISP sources with robotic turtle drivers:

https://news.ycombinator.com/item?id=12207532

>Here is the source code to LLogo in MACLISP, which I stashed from the MIT-AI ITS system. It's a fascinating historical document, 12,480 lines of beautiful practical lisp code, defining where the rubber meets the road, with drivers for hardware like pots, plotters, robotic turtles, TV turtles, graphical displays, XGP laser printers, music devices, and lots of other interesting code and comments.

https://donhopkins.com/home/archive/lisp/llogo.lisp

Re: What Is a Logo-Like Language?

#28

>Does this mean that the use of the language is more important than the language itself? The answer is a resounding yes. C became popular because it is the native language of Unix. It was Rails that made Ruby popular. JavaScript is popular because it is implemented by all the browsers. Objective-C became popular because of iOS, and similarly with Swift. Visual Basic was one of the most popular languages for a time be…

You quote a question about “importance,” then make a number of statements about popularity, then conclude something about importance.

It appears that you equate the two. And yet, others may have other definitions of “importance.” For example, Arguments can be made that Lisp, Smalltalk, and Haskell all have importance far greater than their popularity would indicate.

Re: What Is a Logo-Like Language?

#29

Earlier quoted context omitted.

The person I would ask is Brian Harvey, but that's just a guess. It sounds pretty funny regardless.

Good guess: I was just discussing it with Brian Harvey, Ken Kahn, Andrea diSessa, and Leigh Klotz, who said he has a copy, which I've asked him to please share! Then I saw this LOGO discussion. Plate of shrimp! I love the great work Brian Harvey and Jens Mönig have done with Snap! It's like a non-watered-down version of Scratch, with the full power of Scheme (first class functions, lexical closures, special forms, co…

Oh wow. Thanks for sharing this stuff.

Re: What Is a Logo-Like Language?

#30
post #5

Logo is actually more than just a toy language for turtle graphics. It's a serious language with a lot of inspiration from Lisp (although not using sexps).

I seem to recall at least one Logo I used as a kid had an "advanced mode" that in hindsight boiled down to S-Expressions and several more Lisp functions added to its standard library. Wish I could recall which Logo that was. Maybe one of the later LCSI builds (Apple Logo or IBM Logo), but possibly some version of Lego's TC Logo?

Have a look at Berkeley Logo, https://cs.berkeley.edu/~bh/logo.html

About S-expressions, you can fully parenthesize everything if you want. But Logo uses square brackets, not parens, as list delimiters, so you still have to do a little bit of tokenization.

Post reply on HN