At Mon, 13 Jun 2011 21:55:54 +0200,
karl ramberg wrote:
> 
> I got wondering about commit failure and cases where you needed certain 
> objects in the world child anyway.
> Or two different worlds merging. Will that be possible ?

  Yes.  You catch an exception to keep the computation going:

  a := WPoint2 new x: 1; y: 0.
  w := WWorld2 thisWorld sprout.
  w eval: [a y: a y + 1].
  a y: 666.
  [w commit] on: Error do: [:ex | ].

then you can say:

  b := WPoint2 new.
  b x: (w eval: [a x]).
  b y: (w eval: [a y]).

to "salvage" the values of a in w into b in the top level world.

There should be more first class operations allowed, and perhaps the
serializability checks and commit logic should be customizable...

-- Yoshiki

_______________________________________________
fonc mailing list
fonc@vpri.org
http://vpri.org/mailman/listinfo/fonc

Reply via email to