[squeak-dev] Where does the compiler handle the "local bindings" of workspaces?

Eduardo Ochs eduardoochs at gmail.com
Mon Feb 27 08:42:11 UTC 2023


Hi Karl,

> In HelpBrowser you must declare the variables before using them.
> (...)
> HelpBrowser does not implement dynamic binding of variables.

Yes - my first idea was to ask here what I needed to change in my
class TerseGuideHelp to make the "workspace" of its help browser use
dynamic biding of variables... but then I spent some hours trying to
find the answer myself, and I stumbled on a more low-level question
that I found much more askworthy...

> You can right click on a Workspace window and a HelpBrowser window
> and inspect the model and see the differences.

I did that. Are these differences obvious to a trained eye? They
weren't to me.

> Also browse class Workspace and look at access to variable
> 'bindings'.

This may be a pointer to searching tools that I need to learn. I saw
that if I click on "variables" and then on "bindings" I get a list of
the methods in Workspace that access the variable "bindings"... I also
tried to fileOut the class Workspace and to read it in Emacs, and I
found the same occurrences.

Here is an educated guess. Is the method "hasBindingOf:" the main
piece needed to make a mini-workspace support dynamic variables? If
so, how, exactly? Is there a part of the compiler that calls
"hasBindingOf:" when it sees an unknown variable? I couldn't find
it...

  Cheers,
    Eduardo Ochs
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.squeakfoundation.org/pipermail/squeak-dev/attachments/20230227/000355b3/attachment.html>


More information about the Squeak-dev mailing list