Hi Elan,

[EMAIL PROTECTED] wrote:

> Result:
> Introducing refinement propagation to REBOL will either be of severely
> limited use (single genenration one-time consumption refinements) or make
> the language ridiculously complicated (continuous, recycled refinements).
>

??? Wasn't all I said (and not for the first time already), that I don't find
refinements propagation usefull. So, I agree with you, it's just getting too
complicated. When I design some function and using another one, which can
accept some calling-options (refinements), I will probably propagate such
refinement one-level-up - to the function I am creating. An example:

append: func [
    {Appends a value to the tail of a series and returns the series head.}
    series [series! port!]
    value
][
    head insert tail series :value
]

IIRC, we held discussion here, of how to propagate some refinement to 'insert
function. In my opinion, we should avoid such aproach, and better consider
'append function design as not serving the purpose we expect. In my opinion
'append should be designed with /part /only /dup in mind, but well, the
function body would contain two conditions to decide how to call insert, and
that's on the other hand a little bit bloated aproach. So, what to do about it?
:-)

My main objection in last email was - how to syntaktically distinguis
refinements from nesting to various path levels (directory structures,
navigation thru blocks ...)

Anyway, thanks for the reply, interesting reading :-)

-pekr-

>
> Elan

Reply via email to