Comments
Loading Dream Comments...
You must be logged in to write a comment - Log In
Having loaded a Segment by accessing its GHOST (Global Hosting Online Segment Table) by using its OUIJA (Online User Import Junction Table), we have bound an Address Register to the root object (typically a Buf, i.e. general purpose polymorphic buffer), for example
@FooBar = ::FOOBAR::
has allocated us an Address Register referencing the (now swapped-in) segment ::FOOBAR:: . We can now discover (interactively) the contents of that Segment, by reading its Symbol Table :
ttyout @FooBar[0];
Assuming the function or array we want to access is the third entry in the segment, and it is called MyStuff, we can then process it by referencing @FooBar[3], ( or @FooBar!MyStuff) or for efficiency allocating a local Address Register (we don't have to do this, but it speeds up processing slightly)
Pussycat <:: & {( @woo = @FooBar[3], ... other local vars ...); woo (137); ttyout (woo + 1); whatever... ;}
where the local function "Pussycat" references and encapsulates our usage of Segment "::FOOBAR::" . Oh, by the way, the picture is meant to be ::SHE+ILA:: looking out of a signal box window at a marshalling yard, where the signal box represents the active thread, and the marshalling yard represents the nested bufs of the accessed Segment :)