Brian Mastenbrook scripsit: > However, in: > > (define a (m)) > (define-syntax m ...) > > The binding of `m' may be used on the right-hand side of `define', > because `define' operates as a syntactic delay, just as with ordinary > variables you can write: > > (define a (lambda () b)) > (define b 2)
Say what??! Define does not cause any sort of delay. What delays things in the second example is lambda, not define. (Of course, it's easy to slip here because of the second form of define, (define (foo ...) ...), which has a hidden lambda in it. (I suspect that that format was added to Scheme because even people who preferred Scheme still loved their defuns and wanted something equally terse.) -- John Cowan [email protected] "Mr. Lane, if you ever wish anything that I can do, all you will have to do will be to send me a telegram asking and it will be done." "Mr. Hearst, if you ever get a telegram from me asking you to do anything, you can put the telegram down as a forgery." _______________________________________________ r6rs-discuss mailing list [email protected] http://lists.r6rs.org/cgi-bin/mailman/listinfo/r6rs-discuss
