On Monday 31 December 2007 10:40:35 Ian Kelly wrote: > 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 >
Perhaps have transactions self-ratify? :p