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

Re: NR (no ruler)



Reply to note from Harry Binswanger  Sat, 02 Feb
2008 12:49:05 -0800

> 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. Or maybe I'm just not explaining it
well enough. PV does one thing, and one thing only, with each and
every entity that's sent to it: it evaluates the entity, then *puts*
the result. Text characters evaluate to themselves, but when they
are *put*, they are NOT necessarily displayed! Take, as an example
(in pseudo code): . The
text portion of the S/G, "store d:\path\myfile.txt", is put,
character by character, into func BX ; the text is not displayed,
it's used to create a "blind" (non-displaying) command that's
executed when the program reaches "Q2 ". Similarly, with
>, the text "Hello, world!" isn't
diplayed, it's put into S/G 02. Whether text is displayed or not
depends on the environment it's PV'd into.

> 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. 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. Q2 >", you're creating a SUbroutine
consisting, literally, of "BX d nw=Q2 ", not the intended
SUbroutine, "BX d nw=3Q2 ". 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 ". This nonsensical
statement bombs with Error 165 ("Invalid default setting"); the
Default command expects a numeric value, not a string, let alone the
string "BX d nw=Q2 "!

> Yep, I get it. Thanks for the XPL lesson.

Be careful what you wish for...

--
Carl Distefano
cld@xxxxxxxx