A36 release more useful: fixes CHANGE

Carl Sassenrath, CTO
REBOL Technologies
25-Feb-2009 19:55 GMT

Article #0176
Main page || Index || Prior Article [0175] || Next Article [0177] || 1 Comments || Send feedback

For me, one of the biggest problems I have with R3 is that the change function processed its /part refinement differently than R2.

The A36 release fixes most of these differences. It should cure a number of problems that were related to it, such as invalid results in the replace function.

I should note that the insert and append functions when used with /part may be affected by this change (but they were less of a problem for scripts.)

To compare R3 and R2, I wrote a test that generated more than 43000 unique test cases. All but 492 produced the same results between R3 and R2.

For the exception cases, the R3 results seem more correct than R2.

Here is an example:

head insert/part/dup [a b] "123" 3 3

R3 returned:

["123" "123" "123" a b]

R2 returned:

["123" true 3 "123" true 3 "123" true 3 a b]

The R3 result seems correct. The R2 result seems broken, and I'd consider it a bug.

I think that some of the problem comes from the fact that R2 did not clearly define what /part means in all cases, and there are many.

Anyway, R3 A36 runs a lot better for many scripts. Let me know how it works for you.


Updated 22-Aug-2017 - Edit - Copyright REBOL Technologies -