[REBOL] Re: WYSIWYG programming
From: joel:neely:fedex at: 4-Nov-2000 9:59
Hi, Holger, Ladislav, and list,
Just a short follow-up quibble on terminology ;-)
[rebol-bounce--rebol--com] wrote:
> Holger Kruse tried to explain his notion of what is legal/defined
> in Rebol:
>
> > This way the main block does not get changed during evaluation.
> > Only the block referenced from the main block (the one initial-
> > ized to be [1]) gets changed. That is completely legal.
> >
> > I hope you can see now why I dislike the term "self-modifying
> > code". There is conceptually a huge difference between the
> > first and second example, and the term "self-modifying code"
> > tries to be a catch-all phrase that encompasses (and
> > discourages) within the same category both legal (and
> > potentially useful) and illegal practices.
Based on the analysis/experiments I reported in the previous note,
I suggest that the phrase "self-modifying block" is, in fact, a
reasonable substitute, for two reasons:
1) The notion of "a block which is currently undergoing an
evaluation" is perhaps sharper than "some code...";
2) It is about usage.
If you showed me a bit string and asked "Is this an odd number?"
I would interpret your question as meaning "If you USE this
bit as a number, is that number odd?" and answer you "yes" or
no
without worrying about whether some other usage of the same
bit string (e.g., as representing a sequence of characters in
some source code, as being a fragment of object code for some
CPU, as being a TCP/IP packet, etc.) might render the question
meaningless.
It is in that sense that I think the question "Is Foo a self-
modifying block?" is reasonable short-hand (even though the
answer may be HIGHLY difficult to produce in some cases ;-).
-jn-