Skip to content

Comment on Anatomy of a Haskell-Based Application, Revisitedparent

Comments

Yes. In general it is a nightmare to attempt to coordinate STM with any sort of external action because STM inherently needs to have the ability to do computations multiple times and have “wasted” work when sometimes a transaction cannot commit immediately. Coupling STM with IO can only be done very carefully, making sure for example that the IO is abortable and idempotent.

In our architecture (which is of course by no means perfect!) we largely use a single machine for the majority of our interactions so right now we aren’t facing this issue per se.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.