Charles Hoy Forth Moore
Yesterday, we went to Vol 0×03: Language, Computation, Art of Software Developers Dialectic Galactic.
I had the privilege of speaking at the event last night, and wrote a talk entitled “Charles Hoy Forth Moore”. The first two events were tough acts to follow, so I consider myself very lucky to have gotten any reaction better than an immediate mass exodus by the participants/attendees. I had promised in the slides to put them onto the internet, so here are the slides that I was able to use during the talk, plus a collection of links and some explanatory comments, for the benefit of those that were present. It may be of interest to some that weren’t in attendance, but like any slide deck, it does not quite get everything across.
The topic of the talk was mostly about FORTH, specifically jonesFORTH, and was intended to convey at least a few things about language and computation in a more general sense. If you haven’t read jonesFORTH, I certainly recommend it!
SDDG
It’s a really interesting and unique meetup, and fits very well on this side of LA. Pasadena, where our offices are, is also home to NASA’s Jet Propulsion Laboratory and Cal Tech. Overall, tech here is nerdier than in Silicon Beach, which is probably why Supplyframe and Hackaday live here.
There aren’t any cameras at the meetup, the presentations are jumping-off points for open discussions, and although there are certainly plenty of engineers present, but also plenty of linguists, artists, students, musicians, journalists, and others. The discussion tends to be fascinating.
Slides
The Giant, the Insect, and the Philanthropic-looking Old Gentleman is an excellent short story by Charles Hoy Fort, a very fun author and noted collector of strange accounts and crank science. This story in particular is about an application of a universal theory of everything to the snake oil industry.
This quote should suffice to give an impression of his writing:
I believe nothing of my own that I have ever written.
Well, that explains the name of the talk!
Chuck Moore’s site is down; he has decided to retire from the internet. However, he gave permission to Lars Brinkhoff (the apparently tireless creator of the ForthHub community) to re-publish Programming in a Problem-Oriented Language.
These are not the only FORTH-like languages, but they are two fairly mature ones. Joy is more FP-style, and Factor performant and very convenient.
Because I did not think that it would supplement the conversation much and because it sits in the uncanny valley between a conventional FORTH and some of the more autré stack-based languages, I didn’t bring up Pez, but digressions are easier to forgive in a supplement/addendum to a talk. Pez is based on ATLAST, though it’s gone off the rails from there.
I’m not kidding.
Erratum: HERE
behaves differently in Pez, so there is a bug here. See the jonesFORTH implementation of IF
and THEN
.
I think there is something really cool about a langauge that can implement control flow from tiny primitives.
We didn’t get to go into some of the more interesting parts of the runtime, but there was a pretty interesting conversation going on when this slide arrived.
This is Paul Graham’s version, ported to Common LISP, of John McCarthy’s specification for LISP.
This code is really fascinating.
Urbit is another language with a very concise specification. I very highly recommend reading the author’s thought experiment about the language. I’d be hard-pressed to come up with a stranger programming language.
These slides are presented here in the order they were presented last night. This part of the slideshow ended up a bit chaotic because it spun off a lengthy essay I have started writing for my personal blog.
The most relevant one here is The Rise of Worse is Better, a part of Lisp: Good News, Bad News, How to Win Big. It was very insightful and brilliant as a result was very unpopular at the time.
We talked a little about brevity, though I didn’t get to go into these examples in depth. Consider these four slides a teaser for a potential future presentation.
The rest of the slides I didn’t get to. Hopefully I’ll get to soon!
Links
Reflections on Trusting Trust by Ken Thompson. There are several places to find this talk. This is one of the bits that I didn’t get to cover during the meetup, but the connection between this talk and the part in Ken’s talk about “teaching” the compiler should probably be easy to see.
Bytecode Interpreters for Tiny Computers by Kragen Sitaker. Very, very highly recommended reading. Another part that we didn’t get to.
This page intentionally left nonblank
This slide is a bit redundant on this page, except for the ASCII-art rendition of our logo.