|
|
|
|
|
by heavenlyhash
2991 days ago
|
|
This is correct, of course, but partial progress here is massive progress indeed. The further you push the potentially complicated code towards functional purity, the more the I/O and other side-effecting/hard-to-roll-back things float to the top... and it becomes almost natural to group all of them together... ... into what you might almost be tempted to call a "transaction". (Indeed, like the IO monad leads one to do. I've explicitly been trying to avoid saying the "m" word, though, because it seems to be a cognitive stop-sign for a lot of folks, for whatever reason.) |
|