[e-lang] <import> with cycle breaking is not DeepFrozen

Mark S. Miller markm at cs.jhu.edu
Wed May 31 13:07:38 EDT 2006


Kevin Reid wrote:
> On May 22, 2006, at 0:51, Mark S. Miller wrote:
> 
>> I like:
>>
>>> Proposal #2:
>>>
>>> Make <import> not marked DeepFrozen.
>>>
>>> Anything which is to be DeepFrozen would need to not refer to
>>> <import>. I'm not sure how bad this would be.
>> Even with the restriction of proposal #1, <import> isn't really  
>> DeepFrozen
>> anyway, since it depends on the state of the filesystem at the time  
>> a module
>> is first imported.
> 
> There is a fix for this, which I thought I mentioned before:  
> <import>'s access to the filesystem can be through a proxy which  
> caches the contents of every file  it reads. <resource> either is or  
> also uses this proxy.

Yes, I think this would work.


> Also, here's one consequence: if <import> is not DeepFrozen, then  
> safeScope is not, which means that anything which wants to evaluate E  
> code in the usual scope is not.

A good point. Making <import> DeepFrozen impedes incremental development, but 
not making it DeepFrozen seems to have worse costs.


-- 
Text by me above is hereby placed in the public domain

     Cheers,
     --MarkM



More information about the e-lang mailing list