links to this page:    
View this PageEdit this PageUploads to this PageHistory of this PageTop of the SwikiRecent ChangesSearch the SwikiHelp Guide
Module name scoping rules
Last updated at 5:09 pm UTC on 16 January 2006
There are three module name scoping schemes:

Strong modularity

This is the eventual goal–a "fully" modular scheme.
  1. Here, modules must expliclty declare all other modules that they depend on, to be able to refer to names defined in them.
  2. Moreover, unless a module imports a certain module it depends on, it must qualify any reference to a name defined by that module. (Cf. How to reference names defined in other modules.)

To relax these requirements while the image transitions to full modularity, there are two transitional schemes.:

Weak modularity

Rule 2 above does not apply: Code does not need to fully qualify references to names defined in other modules. In effect, all modules that a module depends on are treated as being imported.

Lenient modularity

Neither rule 1 or 2 above apply. A module does not have to declare dependencies to modules under #(Squeak), i.e. those modules that are part of the standard image.