Revisiting modules as namespaces
Since there seems to be some renewed interest in REBOL Modules these days, I thought I would republish the original proposal for the module design.
In REBOL, the concept of a module is that of a namespace. It maps variables (names) to values within a given context. Today, we are able to do this fairly well with REBOL's object contexts -- and "programming in the large" systems like IOS make use of objects to create isolated namespaces.
However, the idea of modules is more powerful than that because it allows both explicit and implied control over what variables are exposed vs. those that are only local.
Also, I should mention that modules are the main point of the REBOL 3.0 version. It is another major change internally to REBOL, and there is no date set as of yet for its release.