[e-lang] A different way to optimize parameterizations: eliminating intermediate objects

Mark S. Miller markm at cs.jhu.edu
Sun Jul 23 00:50:58 EDT 2006


At
http://www.eros-os.org/pipermail/e-lang/2006-May/011265.html
Kevin makes a clever suggestion which goes well beyond anything I want to 
consider in the E language design, though perhaps it can be transparently 
adapted within certain optimizing implementations.

Kevin Reid wrote:
> The advantages of this technique over the previously-discussed  
> constant folding are that it requires no interaction between  
> DeepFrozen and the compiler, no compile-time evaluation, and can work  
> for non-DeepFrozen parameterizations such as the expansion of  
> quasiliteral $-holes.
> 
> However, it is, I think, complicated to implement correctly and  
> efficiently.

Agreed. Curiously, its static batching of message chains has intriguing 
similarities to the dynamic batching of message chains performed by promise 
pipelining. I can imagine that a clever enough system might be able to gain 
some synergy from this similarity. But I'd like to avoid ever trying to be 
that clever ;).

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

     Cheers,
     --MarkM



More information about the e-lang mailing list