Post B6n5iNeay3yzBgi2O8 by sun@shitposter.world
(DIR) More posts by sun@shitposter.world
(DIR) Post #B6n24pAyvBFL6JIvlQ by sun@shitposter.world
3 likes, 2 repeats
I don't know if anyone has done this before, but I'm incorporating total introspection and control of FRUTE VM through an MCP socket so that an LLM can control and debug it. It grants structured access to all onscreen windows and ui widgets, the Scheme REPL, and can inject mouse movement, drags and clicks, as well as keystrokes. it can snapshot the screen.the window construction already lets you add semantics to the widgets and windows. the mcp can read it. the llm doesn't have to scrape anything.
(DIR) Post #B6n30ZCAUnMwKhOQds by vii@dsmc.space
1 likes, 0 repeats
@sun I love watching you do this work, cuz you’re making decisions I wouldn’t make and it’s really awesome to see the what-if. I ended up going a different direction; I ended up making all syntax metadata explicit in the AST kinda like how Racket does it (though simpler; %:tag atom pairs that the eval can collect and otherwise ignore except where it matters for diagnostics or package headers) so the AI always has a clean textual representation as s-expressions and wouldn’t need a specialized frontend. But I also barely use MCPs so it just didn’t occur to me that this was an option XD
(DIR) Post #B6n5PnYkQWo61x76Ku by sun@shitposter.world
0 likes, 0 repeats
@vii the introspection of the gui is actually gonna eventually be linked to a macos-specific build too that directly provides structured definitions to macos for the accessibility api too
(DIR) Post #B6n5dRnu6tbobwi9Pk by vii@dsmc.space
1 likes, 0 repeats
@sun Oh now THAT is really cool. Meanwhile I’m in hygiene hell because my protocols are just novel enough that I can’t copy Racket’s homework and have to do some real computer sciencing.
(DIR) Post #B6n5elqv3UkB52kiUy by sun@shitposter.world
0 likes, 0 repeats
@vii I ain't doing any computer science shit, I'm a lazy fuck
(DIR) Post #B6n5iNeay3yzBgi2O8 by sun@shitposter.world
0 likes, 0 repeats
@vii my macros are not fully hygienic yet, I punted on that for the time being so I could get funner stuff than 100% correctness
(DIR) Post #B6ndDHsNnOhgjVVHMG by vii@dsmc.space
1 likes, 0 repeats
@sun I call it hygiene hell but this is the stuff I find most fun honestly; I started at “can I make a programming language where calling shell commands with some bash ergonomics is first-class?” And as I’ve dug deeper and deeper, it has revealed questions that have been partially answered but not completely. What I have now is something akin to Racket-lite, if it was written by Joe Armstrong. The shell part is now becoming something that can be implemented in the language as a syntax protocol, so I don’t have to tightly-bind the shell concerns to the language concerns itself. Instead I can abstract those concerns, and do weird things like Ruby’s “method_missing” with a protocol, or parse Makefiles with a protocol.