Honestly, this writeup is why I’ve stopped playing Factorio - despite how amazing of a game it is, I spend so much time thinking about code that I don’t want to think about “code” when I’m playing a game to relax.
But every once in awhile, I’ll boot it up and noodle around with ideas that I’ve been reading about or flows I’ve been working on at work - getting an abstract view of the flow while in Creative is my new whiteboarding.
The way the author describes assemblers as pure functions doesn’t take into account how assemblers have the side-effect of polluting their environment.
I also wonder how one would model the fact that assemblers can then in turn be damaged by aliens. Would that count as un-defining the function at runtime, therefore mutating global state?