On 24.03.2024 15:48, Rick McGuire wrote:
if .context~executable~isa(.Method) then say .context~executable~scope
Wow, thank you very much for this pointer!
(I was not aware of the Method class allowing for retrieving it, which is
really great!)
Will add the information and links to the scope method to the new documentation in the next days
(after waiting a bit for any feedback).
---rony
On Sun, Mar 24, 2024 at 10:32 AM Rony G. Flatscher <rony.flatsc...@wu.ac.at>
wrote:
While working on the multithreaded related parts it has become clear that the term
"scope" is
very
important, such that I linked the word "scope" to the respective section
that describes it.
Also, looking at questions and answers in the RexxLA mailing list related
to multithreading
"scope"
turns out to not be well understood, if at all. With the interlinking and
additional explanations
this may have been improved a little bit.
However, there is one omission IMHO for ooRexx. ooRexx being a dynamic
language should allow for
introspection/reflection (which it does in many different aspects) of the
current scope, such
that
one can learn within a method to which scope it belongs to, got defined
for. It would help the
ooRexx programmer to experiment with and to determine the scope of a method
at runtime.
To the best of my knowledge it is not possible to get at the method's scope
at runtime.
Currently, within a method we can get at the object that invoked it (self)
and its immediate
superclass (super), but not at the scope (class object) that the method
belongs to. As a
method may
be used in different scopes depending on the context, maybe RexxContext
would be a class where
a new
method "scope" could be added to return the "scope": for routines it would
return .nil, for
methods
the class object that defines the scope of the method, and .nil for
floating methods. So the idea
would be that ".context~scope" would return it.
Would that be a sensible solution or are there better possibilities?
Maybe adding an entry "SCOPE" to the TraceObject instance and supplying the
value that gets
used for
the ">I>" trace line?
What do you think?
---rony
_______________________________________________
Oorexx-devel mailing list
Oorexx-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/oorexx-devel