Remix.run Logo
Malleable Computing, Emacs, and You(yummymelon.com)
78 points by kickingvegas 6 hours ago | 22 comments
sroerick 6 hours ago | parent | next [-]

This is a good discussion of these principles. Largely inspired by Emacs, I built an interpreted lisp which runs in a web server and stores the AST Postgres. It gives me this kind of malleable computing and a Lispy feel with very little overhead.

Instead of calling an API, agents can just use functions in a REPL. They can also write new views and improve the program if they run into an issue. Honestly, pretty amazing stuff.

Being able to design a program specifically for the workflow I want is pretty neat. There's some vibeslop jank, but Emacs is a little bit jank too.

gritzko 6 hours ago | parent | prev | next [-]

JavaScript did this for the Web back in the day. I work on a malleable git-compatible SCM right now. First I put all the performance-critical parts into a native lib, then happily built my own git(hub) in JavaScript. Tastes differ, someone else may build it completely differently. I believe this is the right architecture for the LLM age.

https://github.com/gritzko/beagle

kickingvegas 5 hours ago | parent | prev | next [-]

OP here. Happy to answer any questions about my post in this thread.

CharlesW 2 hours ago | parent | next [-]

Out of curiosity, are you now or have you ever been a "Mac person"? I'm curious if you've ever gone down the rabbit hole on Apple's history of technologies for what I think you'd call "malleable computing" at the OS level, like Open Scripting Architecture/AppleScript and now App Intents?

gnabgib 2 hours ago | parent [-]

If you're into malleable computing you'd never have been a "Mac person"

empthought an hour ago | parent | next [-]

Yeah, NeXTSTEP is notoriously a locked-down, untweakable OS. It's not like anyone was able to use it to program anything of consequence.

CharlesW an hour ago | parent | prev [-]

How was OSA/AppleScript not an OS-level malleable computing layer?

SoftTalker an hour ago | parent [-]

I don't know first hand of anyone who ever used it for anything. Maybe I knew the wrong Mac users (mostly teachers).

AloysB 3 hours ago | parent | prev [-]

Great article, TIL vtable.

Amazing how much value you got with 400 LoC (even though it's relying on multiple libraries).

cfiggers 5 hours ago | parent | prev | next [-]

AutoHotkey adds a malleable computing layer to Windows.

paulryanrogers 3 hours ago | parent [-]

Meh, it's better than nothing. Though not a great interface or DSL.

cfiggers 3 hours ago | parent [-]

2.0 fixes a ton of stuff over 1.0, but yeah you're not wrong.

Between custom keybinds, hot strings, and pop-up menus I have literally hundreds of tiny AHK scripts running 24/7. I'm pretty sure there's stuff I've literally forgotten is an AHK vs an actual part of Windows. It's all just ingrained in my muscle memory at this point.

__d 6 hours ago | parent | prev | next [-]

There’s an interesting middle ground: not fully malleable software, where the end user has full customisation ability but requires full programming skill, but eg the Unix tool model where prebuilt utilities can be composed with a simple syntax.

Pre-existing (or importable) ELisp functions are kinda similar, just a slightly higher level of user skill.

jake_and_fatman 3 hours ago | parent | prev | next [-]

Useless without local/remote sync. Also kind of obvious is the preferability of composeable UNIX programs over heavily locked down monoliths, hardly calling for a Fred Brooks style exegesis.

4b11b4 4 hours ago | parent | prev | next [-]

I love emacs

beepbooptheory 3 hours ago | parent | prev | next [-]

This is nice but not even a mention of the rather robust existing solution here with Magit Forge?

https://github.com/magit/forge

pjmlp 4 hours ago | parent | prev [-]

Yet another one rediscovers the way Lisp machines, Smalltalk, Cedar and Oberon were envisioned, and we never really got it in mainstream computing.

Nice article.

kickingvegas 3 hours ago | parent | next [-]

NGL, whenever I work with Cocoa APIs, I wistfully think of another timeline where we get a system-level SmallTalk style REPL and ecosystem accessing all of it.

Barrin92 2 hours ago | parent | prev [-]

I genuinely do wonder why that has been the trajectory. When you look at the almost futuristic vision of interacting with living, programmable software objects and environments that evolve over time and you get a glimpse of it in Emacs, Pharo or Oberon (worth mentioning Free Oberon, fun to play around with https://free.oberon.org/en/ think it was on the frontpage recently), how did we go back to dead text files again?

I always have to think the "the world if" meme when I think about what would have happened if the whole Engelbart, Licklider, Alan Kay school of thought had won out

scroot an hour ago | parent | next [-]

> I genuinely do wonder why that has been the trajectory.

The simple answer here is still likely the best one: Smalltalk and Lisp Machine systems were expensive and proprietary right at the same time that Unix and C became free (and therefore ran everywhere)

pjmlp 13 minutes ago | parent [-]

Yes, and porting them on top of UNIX wasn't the same thing, while still being commercial.

Even with commercial UNIXes, it was extra on top of standard UNIX developer SKU.

Same with Ada, by the way.

Jtsummers an hour ago | parent | prev [-]

> how did we go back to dead text files again?

We never went away from it. It's how a significant amount of computer use has always been. Smalltalk, Oberon, Lisp Machines (mentioned by sibling), they were always minority systems.

There was a brief time when maybe home computers could have leaned this way, but that lasted until VisiCalc. What sold computers was software that turned them from clay to be molded by the user into a defined tool. People prefer appliances (or were convinced to prefer appliances), and appliances make more money for businesses than distributing programs as a Smalltalk package would have.