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 “`?  Can I undo a POST?

Yeah it would be really hard.   But it wold *rock*.

Leave a Reply