Oh this is interesting, thanks for writing the article. We need more of these
I'm wondering if my mental model of Transactions as they relate to time is correct? Here's what I'm thinking so far:
Sodium operates over continuous time... but what is "time"? In the sense of a wall or computer clock - it's a series of seconds, or milliseconds, or however we break it down discretely... but Sodium doesn't have a notion of a clock like this. Rather, it only cares about the order of changes. Each change happens in a "moment" a.k.a. "Transaction" - and so Transactions are basically Sodium's internal unit of time?
With that in mind - changes can happen in the same moment/transaction - even in javascript (where there's no true concurrency), by explicitly creating a transaction and causing multiple changes within that wrapper.