Home > Archive > Smalltalk > July 2007 > GemStone,VW Smalltalk and Namespace
You are viewing an archived Text-only version of the thread.
To view this thread in it's original format and/or if you want to reply to
this thread please [click here]
| Author |
GemStone,VW Smalltalk and Namespace
|
|
| squeakman@gmail.com 2007-07-18, 7:16 pm |
| Greetings,
I am experimenting with GemStone and it appears to me that GemStone
does not "know" about VW's namespaces. When GemStone creates a class
in VW Smalltalk, it always puts it in the Smalltalk namespace.
It is true that GemStone does not deal with Namespace or am I missing
something?
Thanks,
Frank
| |
| Normand Mongeau 2007-07-18, 7:16 pm |
| Warning: I don't know that much about VW, but I do know GemStone very well.
This said, GemStone supports NameSpaces in a different fashion than VW.
Remember that GS is a multi-user environment, so their namespaces are
managed in terms of user visibility. Classes are placed in SymbolLists, and
such SymbolLists can be visible or not for different users. There is also
the notion of order, different classes with the same name can co-exist in
different SymbolLists, and unless the appropriate mechanism is used to
address the exact class, the first visible class is used.
Normand
<squeakman@gmail.com> wrote in message
news:1184770043.905479.194360@z28g2000prd.googlegroups.com...
> Greetings,
>
> I am experimenting with GemStone and it appears to me that GemStone
> does not "know" about VW's namespaces. When GemStone creates a class
> in VW Smalltalk, it always puts it in the Smalltalk namespace.
>
> It is true that GemStone does not deal with Namespace or am I missing
> something?
>
> Thanks,
> Frank
>
| |
|
| Your right. GemStone (GemBuilder) does not deal with VW Namespaces.
Regards,
Adriaan.
| |
| Niall Ross 2007-07-20, 8:10 am |
| Dear Frank,
the method that assigns the namespace is
GbsConnector class>>connectorNamespace
"Namespaces in VW5i intoduces a better way to resolve names; however, this
new way can resolve from a namespace that was not intended (pool dict or
classPool). The workaround for this release is to resolve global connectors
from one specific namespace."
^Smalltalk
which is called by the instance side
GbsConnector>>connectorNamespace
^self class connectorNamespace
If you wish a different namespace, override this to do what you require:
- Simply replacing Smalltalk with a hard-coded application-specific
namespace which can see Smalltalk (and anything else you application needs)
and has unique resolutions for all the Gemstone-relevant works OK.
- If your namespaces are multiple and non-trivially related, or your
resolutions necessarily non-unique, etc., there are various approaches that
one can take.
HTH.
Yours faithfully
Niall Ross
<squeakman@gmail.com> wrote in message
news:1184770043.905479.194360@z28g2000prd.googlegroups.com...
> Greetings,
>
> I am experimenting with GemStone and it appears to me that GemStone
> does not "know" about VW's namespaces. When GemStone creates a class
> in VW Smalltalk, it always puts it in the Smalltalk namespace.
>
> It is true that GemStone does not deal with Namespace or am I missing
> something?
>
> Thanks,
> Frank
>
|
|
|
|
|