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