In fact, synthesis of pure Haskell powered by SAT/SMT (e.g. Hoogle, Djinn, and MagicHaskeller) was already of some utility prior to the advent of LLMs. Furthermore, pure functions are also easy to test given that type signatures can be used for property-based test generation.
I think once all these components (LLMs, SAT/SMT, and lightweight formal methods) get combined, some interesting ways to build new software with a human-in-the-loop might emerge, yielding higher quality artifacts and/or enhancing productivity.
Like they are trained on a LOT of js code -> good at js Way less functional code -> worse performance?
it’s not discussed in this post but in another right after I discuss the modeling I was doing on tech debt and finding the game to improve agent outcomes was reducing context.
functional programming accomplishes that. I can’t claim it’s the only way, but it’s one that’s well understood in the community
So why is "better for agents" distinct from "better for humans"?
You're treating an agent like its something other than an LLM with limited context. I'm just trying to surface a incorrect assumption.
You're just talking about LLMs. Whether they're a child of a primary LLM is irrelevent to your conception.
It'd be interesting if you posited that LLMs doing functional style could handle more context without service degradation.
I think modularization will further reduce context. I am planning to play with your SUPER and SPIRALS idea and use modularization on top via Vertical Slice Architecture or modular monolith where each module is isolated and has a contract.
Because previously people had to write code themselves and they had personal preferences. Because the bugs were less when written by a human.
Now personal preferences doesn't matter as much since people won't change the code themselves too much. And because LLM can introduce lots of bugs and make a mess in the code unless you can restrict them somehow.