On Wed, 16 May 2001, Hal E. Fulton wrote:
> The only drawback to short-circuiting, of course, is that
> some expressions may never be evaluated. Often you
> want that (especially if you're used to thinking that way).
> But what if you specifically want to evaluate them all?
> 
> Full evaluation:
>     if foo() AND bar() AND bam() then...
>     # bar() and bam() will always execute

You can use "&" and "|" for full evaluation:

	if foo() & bar() & bam() then... 

If their return values are not necessarily booleans, then you can coerce
them into booleans by negating twice with !!:

	if (!!foo()) & (!!bar()) & (!!bam()) then... 

matju