> > > So my guess is that syntax objects are expanded lazily. Is there > something I can do to get #'world expanded before #'hello? >
More accurately, it's Normal Order for macro and special form (actually it's another fancy name of internal implemented macro), you may want to take a look through the "application order vs normal order" part inside SICP. Here's a simple formula to understand practical Lazy: Lazy = Normal + Updating "Updating" is another fancy academic term for caching the evaluated value to prevent redundant computation. Say, memorization. I could be blamed for the over simplified explanation to say Normal Order rather than more general term non-strict-evaluation, Normal Order is just one of them, theoretically, but most useful. In your case, there's no updating, so you shouldn't claim it "Lazy" in computation. :-) Best regards.