chrisg, 1 month ago @mykhaylo Excellent point, and I didn't know Datomic calls them that. TIL, thanks. But yes, the ability to transfer between clients assumes that Txs are reifiable entities, by definition. And since #Glowdust does functions, the tx would start like: tx = beginTx(); and tx is the handle, a Glowdust struct that you can return, serialize, inspect and pass around. Commit is similarly commit(tx); and you can have timestamp(tx), whatever_data(tx) etc So fully reifiable, by design.
@mykhaylo Excellent point, and I didn't know Datomic calls them that. TIL, thanks.
But yes, the ability to transfer between clients assumes that Txs are reifiable entities, by definition.
And since #Glowdust does functions, the tx would start like:
tx = beginTx();
and tx is the handle, a Glowdust struct that you can return, serialize, inspect and pass around.
Commit is similarly
commit(tx);
and you can have
timestamp(tx), whatever_data(tx) etc
So fully reifiable, by design.