|
Home
>
3. concept
>
3.2 libraries and modules
>
3.2.3 What does a module system? Provide an elegant namespace management.
|
Previous
Next
|
|
|
|
|
|
Harley Davis
|
I think the name conflict problem is a fairly minor issue in the
overall scheme of things.
The fact is that the C & C++ library market has not suffered at all
from this problem; each vendor chooses their ugly prefixes and
life goes on.
So I don't think this aspect of Dylan's module system (or C++
namespaces) will have very much impact on Dylan's (or C++'s)
success or lack thereof.
|
|
Wendell Berry
|
Is that the ultimate criterion for having them in the language?
Modules put namespaces (and name choices in general) in the
consumers' hands rather than the providers'.
In Dylan the consumer can choose which modules to use (even if
they have the same module name) and which variables to use
(even if they have the same variable name). The consumer can
rename any variable to resolve a conflict or even just to be more
meaningful in that consumer's context.
Why have to deal with ugly prefixes, that ultimately don't resolve
all possible conflicts, when there is a module system that is
- easy to implement; and
- would resolve all conflicts at the disgression of the
*consumer*?
|
|
|
|
|
|