|
Contexts are a mechanism for ensuring that symbols created by a package are distinct from symbols created by the user or by other packages. The biggest problem with contexts is shadowing, a situation in which a symbol in one context prevents the user from referring to a symbol of the same name in a different context. In this article, we first describe how packages use contexts and then we survey tools and techniques that exist for dealing with the shadowing problem. Finally, we develop a new package, AntiShadow, that prevents the most common form of shadowing.
|
|