[r6rs-discuss] Proposed features for small Scheme, part 1: a stake in the ground
Anton van Straaten
anton at appsolutions.com
Sun Sep 6 04:04:02 EDT 2009
Brian Harvey wrote:
>> Conflating
>> the transformation phase with the evaluation phase [...]
>> makes code harder to reason about.
>
> If there's a REPL, there aren't any phases. The REPL keeps shifting back
> and forth between syntax and semantics.
"Shifting back and forth" is shifting between phases. The phases don't
go away if you try to ignore them. (They just figure out ways to bite
you harder.)
> If you're telling me that the only way I can reasonably understand hygienic
> macros is by thinking about different phases, that sounds like a good reason
> to leave them out of WG1-Scheme, which maybe we should start calling
> "REPL Scheme" to keep everyone's eyes on the ball about this!
I'm saying that no matter what you do to achieve macro functionality,
even using FEXPRs to implement it, it introduces phases in which some
operations involve transforming code and others involve evaluating the
transformed code. You can only ignore that at the cost of not
understanding what's going on.
Anton
More information about the r6rs-discuss
mailing list