I've not considered a lot of that. But several answers are provided by the basic expectation of what I'm looking for: An options such that "A sentence that fails should not produce side effects" where the meaning of a sentence is one text line.
I guess that side effects created by functions called by a one liner should also be rolled back if the one liner fails. (without handling) If it is incredibly complex to implement then I agree it is not worth it, but it seems odd and unwelcome, that a sentence fails but partially creates a side effect. --- "Miller, Raul D" <[EMAIL PROTECTED]> wrote: > p j wrote: > > I'm sure preformance benefits from this, but I'd > vote > > for a switch/FC that put a transaction around all > (for > > a switch) or the following sentence (if a FC), > such > > that if it fails all assignments are rolled back. > > You can implement transactions by creating a > temporary locale > which holds uncommitted assignments. Commit would > propagate > these changes to their real destination (and discard > the > temporary). Rollback would discard the temporary. > > Cases to consider for your "automatic transactions > with > automatic commits" proposal: > > (*) What happens when one sentence executes another > sentence? > > (*) What happens when a sentence contains a > multi-line > explicit definition? > > (*) What happens in the context of explicit control > structures (such as a loop)? [for example, A: when > a loop > is called from another sentence, and B: when an > instance > of a loop encounters an error.] > > (*) What happens in the above cases in the context > of obverse? > > (*) How does rollback interact with "parsing > lookahead"? > > (*) What happens in the context of foreigns? > > -- > Raul > ---------------------------------------------------------------------- > For information about J forums see > http://www.jsoftware.com/forums.htm > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com ---------------------------------------------------------------------- For information about J forums see http://www.jsoftware.com/forums.htm
