[Esug-list] The problem with Smalltalk: no decent namespace implementation?

James Foster Smalltalk at JGFoster.net
Thu Jul 31 15:19:05 EDT 2014


On Jul 31, 2014, at 10:17 AM, Reinout Heeck <reinout at soops.nl> wrote:
On 7/31/2014 3:56 PM, James Foster wrote:
>> On Jul 31, 2014, at 5:26 AM, Reinout Heeck <reinout at soops.nl> wrote:
>> 
>>> The problem with the Smalltalk community is that it holds itself back.
>>> For example there are no Smalltalks with a decent namespace implementation (although there was Dave Simmons' S# for a while).
>> In what way does GemStone/S not have “a decent namespace implementation”?
> 
> It's been ages since I worked with Gemstone, so the following may be way off.
> What I recall is that Gemstone allows per-session bindings for global names but only 'once' for all the code, IOW I cannot do visibility management with it (have 'Array' mean one thing in one level of abstraction (=package) and another thing in another level of abstraction in the same session).

Name lookup (the namespace) is applied at the time a method is compiled and is independent of the runtime session. To see this working in Pharo check out http://programminggems.wordpress.com/2010/09/23/gsoc-namespace-project/. 

> So it feels like there is one namespace, not multiple. (and it does not do selector namespaces if memory serves).

I’m not sure what you mean by selector namespaces, but a few years ago (as part of supporting Ruby) GemStone added the ability to have multiple method dictionaries for each class and (as part of supporting Seaside) added the ability to insert session-specific method dictionaries.

-James



More information about the Esug-list mailing list