Sharing this link. I’m told that this is wonderful...
# linking-together
g
Sharing this link. I’m told that this is wonderful. I haven’t dug into it very deeply yet. It’s a modern Hypercard-like tool that includes a serious, powerful, array programming language. I’ve been told to overlook the cheesy fonts - apparently they obfuscate the underlying utility of this tool. Decker. Apparently the Phield Notes are worth examining.
🙌 9
e
The scripting language in decker, lil, is one of the most gorgeous languages I've ever used.
👀 2
amiga tick 1
g
I would appreciate hearing more opinions about what makes this so interesting.
e
Semantics of lua, with the expressive options of a Perl mixed with a JavaScript mixed with a vector oriented programming language like K or APL. I think the fellow who makes it is a K programmer. I know he's implemented a few variants of K in the past. I like it, mostly, though, because it's leeetle and learnable, while allowing you to do things in a few different ways. You can just as easily write functional-first code as you can write imperative code as you can write vector-flavored code — and then you can mix and match as makes sense.
🤤 1
😄 1
With the caveat that my preferences in programming system lean WAY to the aesthetic side. I find lil’s expressivity beautiful
🤍 1
d
The ArrayCast has six episodes with the creator, John Earnest. Here's the sixth, which has links to the first five. https://www.arraycast.com/2025/07/05/Decker-Fantasy-Camp.html
d
I'm fascinated by some of the tradeoffs the author made: • only barely supports color • no Unicode • little-to-no OS integration • bitmap everything • cross platform, but no attempt to be native to any platform (I haven't kept close track, so I could be wrong about any or all of those things.) And yet one can write useful software in it. Fascinating, I guess, because those restrictions are not acceptable to most, but I think perhaps enabled a lot of functionality by allowing the whole thing to be conceptually much simpler.
(There's apparently rather more color available now than in the early versions. 😄 )
g
Being someone who is interested in the technology of programming (unlike most normal people), I found this podcast (the 6th episode with Earnest) to give much more compelling arguments for the appearance of Decker, vs. the website. Like the fact that decks are not proprietary and sharable (json, html, self-replicating, fairly small footprint) along with what sounds like iterative repl-ness of the result. (003720 mentions “… having simple, clear visuals invites tinkering …”, and later “add lightness” is mentioned (I know this as “Q: How do you build a light airplane? A: Build an airplane, add lightness.”). I have come to the conclusion that most of our programming languages/IDEs are geared for production engineering and that you can’t incorporate “tinkering” and “production engineering” into a single language. I am not aware of much useful thinking/work, like this, done on considering what it takes to build PLs for tinkering and iterative design.
amiga tick 1
🍰 1
k
A system with similar ambitions, but very different implementation choices is Cuis Smalltalk: https://cuis.st/
👀 1
g
more ...
“… I want programming to be seen more as a liberal art than something career-oriented. …”
“… Nevertheless, there’s this seed of elegance, of intellectual joy to programming, the philosophy of writing programs as a vehicle to understand things about the world. …”
“… starting with motivating these ideas of computational geometry and computer graphics with little agents interacting in simulated worlds. …”
“… But I’d never been able to be as precise, to carry as many ideas in my mind as when I’ve learned these more expressive languages with more abstract tools. …”
“… If you grab a table, select a subset, compute a column, but then want to change something midway through the query - all the logical tables which flowed through the prefix of that table are cached and available. …”
“… Everything is plastic: you can readily alter the color palettes, rearrange tools on the workspace, introduce a new brush shape, or even add complex, entirely new features without restarting anything or switching to a different application. …”
“… WigglyPaint is a drawing tool I wrote in Decker …”
“… Tersity of notation lets us think and communicate in terms of programming idioms that are tailored to fit each situation, rather than libraries that are reused as sealed units. …”
Interview with John Earnest (Docker and K) (As I read this, I couldn’t help thinking of @Kartik Agaram’s goals…)
❤️ 2