Inspired by a recent blog post by Laurence Tratt, I spent some time kicking the wheels on my code map based programming environment by building a BF interpreter.
Next up: reproducing in Lua Laurence's results regarding the compiler-interpreter spectrum.
Here's the "load screen" for my environment, showing a visual overview of the code I've written.
I've been live-coding my Lua-based markup language luaML using a driver program. Now I've pulled luaML into the driver program so that I can open multiple buffers, move them around, zoom in, zoom out, etc.
(And yes, you can live-program the driver. Not quite using itself, but by copying it into a "meta driver" and making a handful of edits.)
The world is cranking through AoC and zooming toward a ChatGPT future, and I'm still here thinking about the right way to visualize past versions in a live-programming environment.
And my note-taking app. One thing I did recently: a move command that moves columns (analogous to browser tabs) to the left, while continually truncating columns on the right beyond some limit. The combination of these two has changed how I work, from messes all over the surface to much more localized access patterns where I live near the top left and move things over to it as I need them. (It's not a catastrophe if I lose a tab because on-disk search is working well.)
“In general, the higher level your graphics API, the harder it is to get horizontal and vertical lines to draw on the physical pixels. At the frame buffer level it is trivial. Cocoa and UIKit it is possible with some effort. SwiftUI it is impossible. HTML is hopeless.
“When printing meant writing some Postscript it was a little work, but doable. Getting it onto a printer through a modern printer API is essentially impossible.”