[Date Prev][Date Next][Subject Prev][Subject Next][
Date Index][
Subject Index]
Re: NR (no ruler)
- Subject: Re: NR (no ruler)
- From: Harry Binswanger hb@xxxxxxxx
- Date: Sun, 03 Feb 2008 12:35:06 -0800
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