[e-lang] Bug: seedVat/2 and similar are confusing
Mark S. Miller
markm at cs.jhu.edu
Wed Jan 17 22:30:34 CST 2007
Kevin Reid wrote:
> On Jan 14, 2007, at 15:13, Mark S. Miller wrote:
>
>> Should we fix this by deprecating those elements of the current API
>> that lead one into this confusion, i.e., all seedVat-like functions
>> in which an existing vat is passed back in as an argument?
> ...
> Now that I understand the problem, my first inclination was to
> declare this Not A Bug and add warnings to the documentation for
> seedVat/2.
>
> However, making multiple identities in a single vat is not something
> that should need to be done often, though it should be possible.
>
> Proposal: keep seedVat/2, so that someone trying to do this
> deliberately doesn't need to duplicate the code in seedVatAuthor, but
> rename it to something that makes it clear that it's an unusual
> operation. What comes to mind is "reseedVat", but I'd like to hear
> other suggestions.
I now plan to do something like this as a staged renaming.
By "staged renaming", I mean,
* Introduce a new method with the existing functionality.
* Deprecate the old method, but leave it in for now as a synonym for the new
method.
* Retire the old deprecated method in a later release.
All the existing seetVat-like functions do the reseeding as arity-overloads of
their "run" methods. For uniformity, I'll use the same method name for the new
method to replace these, perhaps "reseed".
> As a separate item: the "virtualize" naming bothers me. It seems to
> me that the 'virtual' version is nearly always what the programmer
> wants, rather than using the peculiar boot-comm system, and that it's
> not particularly intuitive what 'virtualize' means in this context.
I agree. I'll do something like a staged renaming here as well. It might be
more of a refactoring, in order to make the typical case easier, but I'll
still preserve upwards compatibility during the first step of the transition.
--
Text by me above is hereby placed in the public domain
Cheers,
--MarkM
More information about the e-lang
mailing list