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