Hi,

actually, I have only described a different model of evaluation, not the one
used in Rebol.

The parentheses mean this:

You can't cause additional evaluation in Rebol by adding parentheses.

- this is probably the most comprehensive expression of my thoughts.

L

> Hello [EMAIL PROTECTED]!
>
> On 31-Dic-99, you wrote:
>
>  l> (i) functions evaluate to themselves, i.e. are treated as
>  l> simple values by the interpreter.
>
> This is wrong. Values of type function! are executed when
> evaluated.
>
> >> code: [func [] [print "Executed"]]
> == [func [] [print "Executed"]]
> >> length? code
> == 3
> >> type? first code
> == word!
> >> code: reduce code
> == [func [][print "Executed"]]
> >> length? code
> == 1
> >> type? first code
> == function!
> >> do code
> Executed
> >> reduce code
> Executed
> == [unset]
>
>  l> ((:f)) evaluates to the same value as :f, so we are free to
>  l> replace subexpressions here.
>
> Why are you using two parens? This is no different from (:f), nor
> it is in any way different from typing just :f. Did I miss
> something here?
>
> Regards,
>     Gabriele.
> --
> o--------------------) .-^-. (----------------------------------o
> | Gabriele Santilli / /_/_\_\ \ Amiga Group Italia --- L'Aquila |
> | GIESSE on IRC     \ \-\_/-/ /  http://www.amyresource.it/AGI/ |
> o--------------------) `-v-' (----------------------------------o
>
>
>
>

Reply via email to