Hacker News new | ask | show | jobs
by justin66 2488 days ago
The person I would ask is Brian Harvey, but that's just a guess. It sounds pretty funny regardless.
1 comments

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

I have to confess, that function, even though I always call it Y when I write it so people will get what it's about, isn't a combinator at all. Writing a real Y combinator in an applicative-order language is possible but complicated, so I never do it. :-) (The difference is that this function takes a _two input_ function as input and supplies itself as its first input. Really it should take a one-input function and magick that into a two-input one first.)
So technically, that's a "Y Not-Combinator"?
LLOGO runs on a PDP-10 emulator, including the Knight TV display.

Video of LLOGO demo by Henry Lieberman: https://www.media.mit.edu/videos/144-lisp-logo-demonstration...

Oh wow. Thanks for sharing this stuff.