[Date Prev][Date Next][Subject Prev][Subject Next][ Date Index][ Subject Index]

Re: NR (no ruler)



Carl,
> So, I take it, PV "decides" whether to display or execute
> according to the content of the S/G. Whatever is executable is
> executed, the non-executable is displayed?

No! You're missing the point.
No doubt. Another way of asking what I'm asking is: what does "put"
actually mean? Can you explain it to me, either in terms of bytes and
registers or in precise higher-level terms?
Similarly, with
>, the text "Hello, world!" isn't
diplayed, it's put into S/G 02.
Interesting, but still a little opaque to me. We've stored a certain
sequence of bytes in S/G 01--that, as being literal, I understand. then we
"put" S/G 01, and that in turn stores the relevant substring of those bytes
in S/G 02. What does "put" mean? I mean, there's a crude, metaphorical
sense, analogous to "handing" the bytes somewhere (where?), but I'm looking
for more meaning, so that I can work sapiently with this use of PV.
> But +5> doesn't overwrite the second 01

You think not?

;*; S/G 01 has value 3
+5>;*; S/G 01 has value 8

S/G 01 is most certainly overwritten. It starts out as 3, and ends
up as 8.
Natch, but I said the *second* 01--i.e., +5> does not lose the
value of  merely because it is preceded by the something deeply disturbing  about the order of events here--it's as
if the computer both has an empty 01 and the preceding, contentful 01 at
the same time. I understand this in BASIC:

a = a + 1

because the operation is carried out in reverse of the English. It's more like:

Calculate (a + 1) and stored the result under 'a'

The XPL must work the same way, no?
 But you *are* onto something, Harry. An assertion such as
Q2 > is a meaningless statement not
because the value of  is overwritten by , but
because the  and
resolve it into the intended value, 3. 

The SU SV comparison is very clear.
 So when you write
"Q2 >", you're creating a SUbroutine
consisting, literally, of "BX d nw=Q2 ", not the intended
SUbroutine, "BX d nw=3Q2 ".

I fully get that, but I'm confused by the following.
 Now, in other circumstances,
"BX d nw=Q2 " might be serviceable, but when you save that
string literal(ly) to *S/G 01 itself*, the result is a dog chasing
its tail: "BX d nw=BX d nw=Q2 Q2 ".
Saving to itself by what specific instruction? I don't see what instruction
generates the circularity. Consider the possibilities (assume we have SaVed
3 to 01):

1. +"Q2 ">
   That's legit, right? Not circular.

2. Q2 >
That is legal but produces as the content of 01 the following, which is probably unwanted:
BX d nw=Q2

3. Q2 >
  That produces, for use as a subroutine, the same literal:
BX d nw=Q2
Now is it that when I go to execute that subroutine, by doing that 's what generates the circularity? Or . . .?

You're really growing my brain.

Thanks,
Harry


Harry Binswanger
hb@xxxxxxxx




Harry Binswanger
hb@xxxxxxxx