Oh this is interesting, thanks for writing the article. We need more of these ![:smiley: :smiley:](/images/emoji/emoji_one/smiley.png?v=2)
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.