Transactions as a service
Database transactions are pretty awesome. They’re useful in all sorts of scenarios, from concurrency to exception handling. Software-Transactional-Memory is similarly awesome – transactions for memory.
I want transactions for everything.
Imagine doing this in the shell:
$ begin transaction $ echo "volatile value" > some_file.txt $ git add . && git commit -m "volatile commit" $ git push heroku master $ end transaction
There are all sorts of reasons this won’t work. Imagine all the possible scenarios you’d need in order to make this happen – what happens if I
curl -X POST <remote-site>? Can I undo a POST?
Yeah it would be really hard. But it wold rock.