For Programmers: Free Programming Magazines  


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
>



a3aan

2007-07-19, 8:11 am

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
>




Sponsored Links







Also available: Server administration forum archive | Web Design forum archive | Software forum archive | Hardware reviews archive

Copyright 2008 codecomments.com