Thanks for the explanation.  I think I was confused originally because
your API is:

   in world {
      ...
   }
   world.commit()

where I was expecting:
   in world {
      ....
      world.commit()
   }

ie, in your API, even though the API occurs in the "root" context, it
doesn't (usually) *affect* the root world... it affects the receiver
world and its parent only.  So when I saw commits from the leafs up, I
was thinking, "how can you start by committing the leaf to the root
world?"

I understand where I went wrong now, but on reflection it still seems
odd that the parent context isn't explicitly mentioned in the API.
Instead writing
   world.parent.commit(world);
would make clear what two worlds are affected... but that's
unnecessarily verbose.  So not necessarily an improvement to anything
other than my originally-confused brain.

OK, my email is too long now, too!
  --scott

-- 
      ( http://cscott.net )

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

Reply via email to