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