On Dec 30, 2007 6:03 PM, Josiah Worcester <[EMAIL PROTECTED]> wrote: > From playing B Nomic, I've seen one potentially useful idea: transactions. I'm > not sure if everyone wants them, but let's see: > > Proto: Transactions (power=3?) > Create a rule titled "Transactions" with the following text: > A transaction is a method of announcing actions, contained entirely > within "BEGIN TRANSACTION" and "END TRANSACTION". A transaction may have a > list of assertions and may have a list of actions. If any assertion made > within the transaction is not true at the time of the transaction or, > alternatively, the time specified within the assertion, then none of the > actions in the transaction take effect. If any action made within the > transaction fails, then none of the actions in the transaction take effect.
I'm not sure about this. Well designed transactions could be useful, but poorly designed transactions could be worse than restricting atomicity to individual actions (i.e., what we do now). For example, consider this hypothetical transaction: BEGIN TRANSACTION I register. I sit up. END TRANSACTION If this is accepted for several months, at which point somebody suddenly notices that the game was in emergency session at the time, then the transaction is invalidated, the registration is annulled, and every action performed since that moment by or involving that player is invalidated as well. -root