[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