[r6rs-discuss] [Formal] Remove double phase semantics
[I'm responding as a user/developer, not as an editor.]
> After thinking about this some more, I believe the inefficiency can easily be
> eliminated for level-0 (runtime) code where it is likely to matter most.
Yes, it's obvious that by creating two versions of all compiled libraries,
one for phase 0 and one for phases > 0, we can enable optimizaton for
run-time code. Unfortunately, compile time will suffer in two ways: the
libraries used at compile time will be slow, and the compiler will have to
generate both versions of the code. Ouch. This is addition to the
unavoidable cost of having to visit and invoke the same libraries multiple
times for the multi-phased semantics. I'm not interested in using or
developing a system that screws compile time in this manner, all for the
dubious "benefit" that macros with side effects, which I think should not
even be written, don't accidentally communicate across levels. And let's
not forget that some applications use eval and therefore do compilation at
run time. For those we'd be screwing run time as well.
Kent
Received on Sun Nov 26 2006 - 18:19:06 UTC
This archive was generated by hypermail 2.3.0
: Wed Oct 23 2024 - 09:15:00 UTC