By "constant" I meant hard-coded, literal values. For example: foo: does [ bar: "Hello" ]
Bar is a copy of "Hello", and not pointing directly to "Hello". So =? would fail. I agree, this could cause other problems. I really do like the way REBOL handles this already, but it certainly took a bit to 1) find out, and 2) remember and get used to. I didn't know that's how join worked. Thanks! That can definitely simplify some code. I do think that an operator would be nice just from a code simplication stand-point, but beauty is also in the eye of the beholder. Jeff M. -- [EMAIL PROTECTED] On 5/2/06, Gabriele Santilli <[EMAIL PROTECTED]> wrote: > > > Hi Jeff, > > On Monday, May 1, 2006, 7:50:13 PM, you wrote: > > JM> 1. Make "constant" data just that - constant. Make the copy implicit > when > JM> binding a word to constant data. This would be quite easy, and would > solve a > JM> lot of headaches before they happen. > > By constant data, you mean any LOADed data? I sense more problems > here than solutions. :) > > JM> 2. Have a series building operator (++ comes to mind from Haskell), > which > JM> acts as a copy + append. This is a little scarey, because I think most > JM> people would just use ++ instead of append, and without knowing that > it does > JM> a copy, we're back to potential O(n^2) performance issues. > > >> source join > join: func [ > "Concatenates values." > value "Base value" > rest "Value or block of values" > ][ > value: either series? value [copy value] [form value] > repend value rest > ] > > So the only difference is that JOIN is copy + repend instead of > copy + append. > > Regards, > Gabriele. > -- > Gabriele Santilli <[EMAIL PROTECTED]> --- http://www.rebol.com/ > Colella Chiara software division --- http://www.colellachiara.com/ > > -- > To unsubscribe from the list, just send an email to > lists at rebol.com with unsubscribe as the subject. > > -- To unsubscribe from the list, just send an email to lists at rebol.com with unsubscribe as the subject.
