Re: Woohoo! My macros are now (semi) hygienic



Den Mon, 25 Feb 2008 15:17:43 -0800 skrev Kaz Kylheku:

Suppose foo has a member x that you access in the DO block, and bar
doesn't have any member called x. So in that lexical scope, the name x
refers to foo.x. Suppose that someone now edits the type definition of
bar_record such that it acquires a member called x. Now when you
recompile the WITH statement above, the expression x suddenly refers to
bar.x! If bar.x is suitably typed, there will be no compiler error.
Unintentional shadowing of a local variable can also take place: bad
hygiene.

And that is different from (use-package :foo) how?

Cheers,
Maciej
.



Relevant Pages