September 2022

S M T W T F S
    123
45678910
11121314151617
181920 21222324
2526 27282930 

Page Summary

Style Credit

Expand Cut Tags

No cut tags

May 17th, 2019

gfish: (Default)
Friday, May 17th, 2019 02:56 pm
Back in the 90s when I was still giddy with excitement over the possibilities of computers, I discovered something amazing: esoteric programming languages, working languages designed and made as a joke, or as an exploration of possibilities unconstrained by practicality. Programming languages as art. There was Brainfuck, which only used 8 characters. There was Befunge, which worked as a 2D grid of ASCII art, with the program counter bouncing around in any orthogonal direction. And there was INTERCAL, the original joke which started it all in the 70s, with such concepts as a COMEFROM operator. Absolutely glorious.

I wanted to make one, obviously. I still have notes somewhere for what I was going to call Manyoshu, where programs would look like classical Japanese poetry. It never happened. But every now and then I'd think about it -- I love working with parsers and compilers, so I was really just waiting for inspiration to strike.

Last fall, as part of the research for the book I'm still kind of working on, I was reading primary sources in mathematical logic, including Gottlob Frege's Begriffsschrift. And I was stunned to find that, as part of developing a series of proofs, he had invented his own logical notation. And it was amazing! It's kind of a flowchart notation, with logical implication branching onto multiple lines, and universal quantifiers sitting in cozy little hollows. I loved it. And I immediately wondered what would it have been like, had Frege's notation caught on? What if that had been the standard when programming was invented in the 20th century? What if instead of adopting ANDs and ORs as the primary logical operators, not to mention if statements, we'd stuck with syllogistic implication for both? What if for loops had been directly descended from universal quantifiers?

So starting not long after the Lady Washington trip, I got down to making an esoteric programming language: Gottlob. It runs entirely in the browser, which was kind of cheating, but the total audience for such a thing was already going to be so minuscule that I didn't want to add the barrier of installing an executable. There are background materials on Frege's work on the site as well as a complete guide to the language. I'm still making tweaks here and there to improve the rendering engine, but I don't know of any serious bugs at the moment. And it even makes bubblesort look great!