[EMAIL PROTECTED] wrote:
> 
> pif: func [
>     [throw]
>     {polymorphic if with lazy evaluation and minimal checking}
>     args [block!]
> ] [
>     while [not empty? args] [
>     args: do/next args
>          either all [
>              not unset? first args
>              first args
>          ][
>              args: first second args
>              break
>          ][
>              args: skip second args 1
>          ]
>      ]
>      if args [do args]
> ]
> 

Thanks, Eric!  I've been torturing this throughout the morning, and
haven't gotten any surprises yet (except for the normal kinds of
composing-at-the-keyboard typos! ;-)

I did remove the first line of the function body, an assignment to
'result, on the assumption that it was a typo.

ORIGINALLY:
>
> pif: func [
>     [throw]
>     {polymorphic if with lazy evaluation and minimal checking}
>     args [block!]
> ] [
>     result: false
>     while [not empty? args] [
>     args: do/next args
>          either all [
...

-jn-

Reply via email to