Administrator
|
In most text windows, you can select a class name, right click, and see the option to browse its hierarchy.
-- But this does not work for qualified class names (app::class). In fact, you cannot even inspect this expression (in the Transcript, at least). e.g., from the Transcript: ... should not reference GbsRuntime::ISOLatin. It would be a welcome enhancement. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Hi Richard,
-- We took a deeper look at this. This kind of class resolution is not officially supported in the product. The fact that it can resolve the class in the parser is somewhat anomalous, and may have been preparatory work for true namespace support at one time. Since Applications are considered managed namespaces it may work, but using this mechanism can lead to some interesting issues once these scope referenced classes are shuffled around to different applications, but the scoped refs (now stale) remain. We would need a lot more tooling and additional unmanaged namespace detection logic in order to really be able to support this. -- Seth On Thursday, February 27, 2014 3:06:10 PM UTC-5, Richard Sargent wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Administrator
|
Thanks, Seth. I would rather see you expend resources to provide a true namespace mechanism (one that allows the same e.g. class name to be used in distinct namespaces). On Mar 4, 2014 8:40 AM, "Seth Berman" <[hidden email]> wrote:
--
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Hi Richard,
-- On a very basic level, I concur with you about the value that true namespace support provides. Out of curiosity, have you listened to the recent James Robertson and David Buck podcast on namespaces. My takeaway was that they deemed it a valuable addition, but that it also introduced some important subtle issues to be aware of. I thought it was interesting. -- Seth On Tuesday, March 4, 2014 11:45:42 AM UTC-5, Richard Sargent wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Administrator
|
I haven't listened to it, but I shall.
-- Thanks On Tuesday, March 4, 2014 9:25:36 AM UTC-8, Seth Berman wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/groups/opt_out. |
Administrator
|
In reply to this post by Seth Berman
On Tuesday, March 4, 2014 8:40:28 AM UTC-8, Seth Berman wrote:
--
I looked further into this as well. The double colon is used frequently (over 1,800 methods in my image), not only in the Abt code but also in a lot of ENVY code, too. There is nothing anomalous about it, in my opinion. e.g., virtually every ("modern") IS_* method uses it. The parser produces an EsScopedVariableWithBinding to deal with it. You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Administrator
|
In reply to this post by Seth Berman
On Tuesday, March 4, 2014 9:25:36 AM UTC-8, Seth Berman wrote:
--
That was interesting. My takeaway, if you will, was that you needn't make it so complicated to be useful. :-) For example, offer two variations: (1) a method can only reference a class or global visible to its application or prerequisite applications and (2) a legacy mode in which a failure to find a definition from the first rule results in a search of all application namespaces (like today) AND produces a warning message to the Transcript. The above rule can be overridden by use of the double colon to specify the namespace in which the reference will be found. It would be an error to find more than one namespace defining a global in the first rule (probably in either rule); the name would need to be qualified/scoped. Anyway, it's just something for the features wishlist. :-) You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
In reply to this post by Richard Sargent
Richard -
-- 'anomolous' referred to the fact that double colons work (mostly) in the App::Class construct. The documented (and currently the only intended) use is in App::PoolDictionary constructs. John On Monday, March 10, 2014 2:07:29 PM UTC-4, Richard Sargent wrote:
You received this message because you are subscribed to the Google Groups "VA Smalltalk" group. To unsubscribe from this group and stop receiving emails from it, send an email to [hidden email]. To post to this group, send email to [hidden email]. Visit this group at http://groups.google.com/group/va-smalltalk. For more options, visit https://groups.google.com/d/optout. |
Free forum by Nabble | Edit this page |