On Sun, 13 Sep 2009, Abdulaziz Ghuloum wrote: > On Sep 13, 2009, at 11:47 PM, Andre van Tonder wrote: > >>> Then I'm not following exactly. How are you going to handle the >>> expression (f) in one pass and still make its f still refer to >>> the inner f (that you haven't seen yet)? >> >> By following the example of R6RS and declaring it to be an error. >> ... > > I know of these examples. I was asking about *how*, if that can > be summarized in a few sentences.
Ah, the way it is done in my expander is by keeping, for every body, a list of identifiers whose denotations have affected expansion of th body so far. If a definition is encountered, the LHS identifier is compared against this list, and if its denotation has already been used to affect the body expansion so far, an error is raised. Andre _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
