[Modules] Upper case message names for accessing modules

Doug Way dway at riskmetrics.com
Thu Feb 21 06:04:18 UTC 2002


Henrik Gedenryd wrote:
> 
> >> For ellipse := (Module path: #(Squeak Morphic Core Basic)
> >> class: #EllipseMorph) new
> 
> Everyone seems to miss the fact that Module is also defined in another
> module, so you wouldn't be able to write code like this! So how do you then
> make _any_ reference to something outside your own module? (It's not
> impossible.)
> 
> That's why I said there is a bootstrapping issue here.

Ah, so only the toplevel module names will be globally accessible, then?  (such as "Squeak", "People", "Com", "Org", etc.)

Makes sense.  It's easy to forget that "Module" won't be available, since we currently have the weak modules thing running, and it is available now.  (Hmm, also http://minnow.cc.gatech.edu/squeak/2252 uses "Module" in its examples to access modules.)

So, I guess if someone were looking for an alternative to the upper-case messagename convention to access a module, you'd need to have a #subModulePath: method or similar, such as:

ellipse := ((Squeak subModulePath: #(Morphic Core Basic)) class: #EllipseMorph) new.

> PS. Can't we find an even more minor issue to debate, to keep us from ever
> dealing with the important stuff?

I'd think of this as a prelude to future discussions about the other "important stuff".  This debate could help people to start thinking about how modules will work in Squeak.

But I wouldn't consider adding a new message name convention (upper case) to be unimportant, and it hasn't really been discussed at all until the last few days.

- Doug Way
  dway at riskmetrics.com



More information about the Squeak-dev mailing list