It's 'fun', for some folks 'nostalgic', possibly even 'interesting', in a casual sort of way. You apparently aren't familiar with these concepts. No need to hate on it.
The implementation is superficially silly, but I think this can also be read as a meditation on exactly what distinctions we're making when we use terms like "program" vs. "process" or "input" vs. "dependency". Perhaps a cousin to the idea that compression formats represent specialized instruction sets for bitstream generation, or to static single assignment. It makes explicit what is usually implicit in emulator "movies", that each frame has the state of the prior frame as a dependency, even though that relationship is normally thought of as a side effect of the passage of time.
The underlying principle of translating those implicit temporal dependencies into explicit data dependencies very well might have applications in optimizing high-accuracy computer/console emulators. The usual implementations iterate over some variable that represents the passage of time and compute all possible side effects, which is expensive. Many compilers already do a related static optimization by eliminating intermediate variable mutations that can be proven to have no side effects.
(also, if you're not familiar with the "tool-assisted speedrun/superplay" tradition of optimizing video game input sequences as a flavor of metaprogramming, see https://tasvideos.org/NewcomerCorner)
I think this was a good starting point, excited to see how this grows
What a delightfully insane abuse of Nix. I enjoyed reading that immensely.
Some of us use nix as a package manager. And others...
Im confused whats the point of this ?
It's just a fun hack. I think it's neat.
It's 'fun', for some folks 'nostalgic', possibly even 'interesting', in a casual sort of way. You apparently aren't familiar with these concepts. No need to hate on it.
Not parent, but I am familiar with those concepts however I don't know Nix, so I don't know what I'm looking at.
Answer honestly: what is the point of yourself or anyone for that matter?
The implementation is superficially silly, but I think this can also be read as a meditation on exactly what distinctions we're making when we use terms like "program" vs. "process" or "input" vs. "dependency". Perhaps a cousin to the idea that compression formats represent specialized instruction sets for bitstream generation, or to static single assignment. It makes explicit what is usually implicit in emulator "movies", that each frame has the state of the prior frame as a dependency, even though that relationship is normally thought of as a side effect of the passage of time.
The underlying principle of translating those implicit temporal dependencies into explicit data dependencies very well might have applications in optimizing high-accuracy computer/console emulators. The usual implementations iterate over some variable that represents the passage of time and compute all possible side effects, which is expensive. Many compilers already do a related static optimization by eliminating intermediate variable mutations that can be proven to have no side effects.
(also, if you're not familiar with the "tool-assisted speedrun/superplay" tradition of optimizing video game input sequences as a flavor of metaprogramming, see https://tasvideos.org/NewcomerCorner)