Tim:
>   The reason for the error is clear to me - it remains
>    inconsistant. IMHO, an action value or function
>    should either always return a value 
>    OR
>    always not return a va

I completely agree that it would be nice if things behaved in that way.

But I can also see the point that loops or functions can and do (and perhaps 
should) return 'unset in some conditions.

It's easy to accidentally or intentionally write a function that has that 
"inconsistent" return behavior:

f: func [p] [either p = 1 [print p][p + 1]]

x: f 2
== 3

 x: f 1
1
** Script Error: x needs a value
** Near: x: f 1

As long as it is part of the specification of 'ff that it returns p+1 or 
'unset (rather than it being an oversight), I'm happy with that.

Sunanda.
-- 
To unsubscribe from the list, just send an email to 
lists at rebol.com with unsubscribe as the subject.

Reply via email to