Yale and McNettle
Haskell Community [Unofficial]
March 13, 2026
what happened to haskell at yale?
i can see nettle is still maintained, but the theoretical results of the mcnettle multiagent controller seems great. i dont want to have to target the JVM or “pods“ based Kubernetes or however these node developers do stuff. i just want greenthreads and IOT streams. software networks used to be studied. now they look like the bitrotten internet from the 1990s. (set vs setx)
i cant deal with this stuff… its only from 2015. that used to be the future!
yale had one of the best haskell departments. now its just dead links.
i mean, presumably an agent could reverse engineer it from the paper…
but youd have to get it to reverse engineer a stable versioning and build system first!
haddocks are an agentic programmers best friend, but they eat up all your credits!
ill post if i can get any of the multitude of backends working as a scheduler…
multiagentic self regulation seems to be possible but server abstractions are sprawling.
i wonder how much of the code in the past was just someone that let a modbot loose in a way that now seems quite familiar if you have no idea what your doing and just let it create until it runs out of patience. you end up with like, packet decorations and stuff… i think basically its send recieve with await and an “ok now ill awaif from you, but i might have to interrupt!“ and this getting the agents to halt becomes basically all there is to it other than like send :: String → IO (), recieve :: IO String
I have a nice streaming abstraction built on top of listT done right, and it can unfold and do a kind of outer product version of fusion around forkIO and forever. which is how most servers seem to work iiuc. so you instead have a kind of unfold traverse setup and get a nice list comprehension abstraction round the stream, and then when you have paralleleism you have to chunk up the many streams so you use the list monad (coconcat)…. like, the interrupt is like IO (Maybe a,Maybe b) or something, and it ends up as IO ([a],[b],[c] …) where these are just the currently available subsegments of the various incoming streams. and your controller then has to handle all of them
idk the actual version for the interrupt… if it was like Either (ListT IO String) () or something, where you just have the upwind and downwind incoming things, and the interrupt is all you can send upwind. the orchestrator is basically just doing some kind of pruning on the stream of agentic feeds. “it didnt manage to build because it was halucinating“ instead of the stream of thought “oh, interesting, the cmd /c wrapper fails because of syntax permissions which were conflated with a build time error misdirection“.
anyway, they should bring back yale, we need McNettle!
Discussion in the ATmosphere