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
[email protected]
http://vpri.org/mailman/listinfo/fonc