[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