Hi, Brett...
You're right about my JOIN vs. INSERT confusion. I think the thread
had earlier been discussing
join #{012345} [#{0123}]
(or some similar expression) and my caffeine-deprived brain didn't
catch Gabriele's shift of verbs. Thanks for catching it!
However, I think my real point survives my poor application of it;
I wasn't disagreeing with Gabriele at all! I was trying to use the
issue of modifying binary! values (whether with join or insert )
to illustrate the historical need we've had for clear and unambiguous
specifications for what Carl (and the rest of the RT folks) INTENDED
for REBOL to do in various situations.
If I find myself surprised by something that REBOL does, I'm quite
willing to accept that I may just not know enough for my predictions
to be accurate all the time. But when someone with the experience
and expertise of Gabriele hits a surprise, I have to wonder whether
1) the implementors INTENDED for REBOl to do what it does, but the
reasoning is not sufficiently obvious nor well-documented enough
to make the intent (and motivations) clear, or
2) there wasn't a specific intent here, just a happenstance of the
way it got implemented, without anyone desiring or foreseeing
the surprise that some folks got, or
3) it's a real bug, in that REBOL is specifically doing something
different than intended by Carl (and the rest of the RT folks).
Absent a clearly-stated specification, all ANY of us can do (even
the most expert -- of whom I consider Gabriele to be one) is submit
a feedback/support email and wonder.
-jn-
[EMAIL PROTECTED] wrote:
>
> Hi Joel,
>
> Regarding your two messages in response to Gabriele's reasonable assertion
> that
> "INSERT shouldn't use FORM when inserting a BINARY!"
>
> You seem to have misunderstood Gabriele to be talking about JOIN where I
> believe the statement was simply about INSERT. Maybe it was because you
> missed this snippet of the message:
>
> >> head insert tail copy #{0123} #{0123} ; eq. to join
> == #{01230123}
>
> but:
>
> >> head insert tail copy #{0123} [#{0123}]
> == #{0123237B303132337D}
>
> I would have expected that both lines should have the same result.
> The second example is equivalent to
>
> >> head insert tail copy #{0123} form #{0123}
> == #{0123237B303132337D}
>
> Converting the value argument of insert clearly looks erroneous.
>
> Brett.
>
> PS I've enjoyed reading your recent investigations into the language and
> performance of Rebol. With a little time, I'll be re-reading them. Keep up
> the good work!
>
> ----- Original Message -----
> From: <[EMAIL PROTECTED]>
> To: <[EMAIL PROTECTED]>
> Sent: Tuesday, October 03, 2000 10:22 PM
> Subject: [REBOL] Problem with try [ open/direct/binary tcp://... ] Re:(8)
>
> > It appears that using a block as the second argument, when the first
> > argument is of any-string! type, causes the contents of the block
> > be treated as strings.
> >
> > >> join #{} ['foo 123 :fum]
> > == #{666F6F3132333F66756E6374696F6E3F}
> > >> to-string join #{} ['foo 123 :fum]
> > == "foo123?function?"
> >
> > [EMAIL PROTECTED] wrote:
> > >
> > [snip]
> > >
> > > INSERT shouldn't use FORM when inserting a BINARY!. I'm sending
> > > this to feedback too (I don't remember if I had already signaled
> > > this to feedback...).
> > >
> >
> > Do you mean "shouldn't" in the sense of
> >
> > 1) "contradicts the official specification", or
> > 2) "doesn't do what I expected", or
> > 3) "doesn't seem to me to do The Right Thing"?
> >
> > Please understand, I'm not criticizing your remark! It's just that
> > option (1) requires that there BE an accessible specification. If
> > there is one which I've overlooked, I'll be VERY grateful if you
> > will tell me where it is (and it may very well be Carl's massive
> > tome of yesterday evening -- I just haven't finished reading it!)
> >
> > Of course, I generally hold your experienced expectations -- as
> > in (2) -- or your good taste in programming -- as in (3) -- in
> > very high regard!
> >
> > -jn-
> >