[EMAIL PROTECTED] wrote:
> 
> We are concerned with a terminology that is designed to
> conceptualize the REBOL programming language...
> 

No.

I am concerned with understanding, and being able to describe and
predict, the behavior of REBOL expressions using concepts and terms
that are common in the field of computer programming.

You, on the other hand, have stated your opposition to that goal.

Fair enough.  I certainly have neither the desire nor the capability
of forcing you to think or speak in a manner of my choosing.  However,
the converse is also true.

In the transcript below:

(1)    >> a: [1 2 3]
       == [1 2 3]
(2)    >> b: reduce [a a]
       == [[1 2 3] [1 2 3]]
(3)    >> c: copy b
       == [[1 2 3] [1 2 3]]
(4)    >> append a 4
       == [1 2 3 4]
(5)    >> b
       == [[1 2 3 4] [1 2 3 4]]
(6)    >> c
       == [[1 2 3 4] [1 2 3 4]]

we observe that the output for lines (5) and (6) differs from the
output for lines (2) and (3).  In  conversation, I would explain
that fact by saying that b's first and second elements are both
references to the same block as a, as are c's first and second
elements.

If I were dealing with a beginning student, or with a language
lawyer on some ANSI committee, or with someone who seemed particularly
determined not to understand me, I might say it with more words:

    a contains a reference to a block (initially of three
    elements).  b contains a reference to a block of two
    elements; both of those elements refer to the same block
    as a.  c contains a reference to a different block of
    two elements; but, again, both of those elements refer
    to the same block as a.  Performing an operation that
    alters the block referenced by a also alters the values
    of both elements of the values of b and c, because they
    all refer to the same block.

I am simply using different words to communicate the same idea,
although with a different level of explicit detail.

I also freely admit that I'm talking about a conceptual model which
may or may not correspond exactly to the data structures that the
REBOL interpreter builds in memory.  However, I use the term
"reference" because it makes more sense to me that one would have
multiple pointers/handles/descriptors/whatever designating a single
data structure than to assume that there are multiple copies of the
same data embedded all over the place that have to be kept in synch.

Whether it is the case that:

a) you disapprove of my using the word "reference" in this manner, or
b) you refuse to understand how I'm using it (despite my repeated
   attempts to explain -- in different words -- what I mean), or
c) I am incapable of explaining coherently what I mean, or
d) any arbitrary weighted average of the above three options,

really no longer matters.  What matters is that I simply acknowledge
my failure to be able to communicate the idea of the example above
in a way that you will accept.

I can accept failures and mistakes; I've certainly made plenty of
both.  But what really saddens me is the idea of unrecoverable
failure.

In the following exchange:

> >
> >> A string cannot be a reference.
> >
> >I never said it could.
> 
> Actually, you did. Perhaps you've changed your mind about that.
> But here is the statement I was commenting on, as quoted from your
> original email that everyone has access to:
> 
 ...
> 
> You recall having said something quite different:

your reaction is tantamount to accusing me of dishonesty (public
dishonesty, judging from the phrase, "that everyone has access to").

You misunderstood my original statement, placed your own interpre-
tations on my use of the concept of reference, thereby misconstruing
the statement to mean something I did not intend, and then proceded
(at considerable length!) to argue that the resulting statement was
nonsense.  When I tried to correct the misunderstanding by expressing
the same idea in a slightly different way, you then accuse me of
dishonesty and wasting your time.

> 
> I wish you had said what now you claim to have said. It would have
> saved me alot of work. Unfortunately you didn't.
> 

I find this especially sad because, from the beginning of my reading
of the REBOL mailing list, it has been clear to me that you are a
very knowledgeable and experienced member of the REBOL community.
I've learned quite a bit by considering questions/puzzles that you've
posted, and from your more objective remarks on REBOL.  You've been
able to correct some mistaken assumptions of mine, including (most
recently) one having to do with when local contexts are created.
That information (specifically the code which allowed it to be
demonstrated) was very helpful, and I thank you for it -- regardless
of the overall tone of the posting which contained it.

However, the increasingly personal tenor of your successive posts
leave me little reason to think that I'll be able to explain my
thoughts in a way that you will respect and consider objectively.

Thank you for your past assistance.  Good luck in the future.

-jn-

Reply via email to