OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

xacml-comment message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]


Subject: Re: [xacml-comment] Public Comment


On Thu, 11 Nov 2004 comment-form@oasis-open.org wrote:

> Comment from: Haruyuki.Kawabe@unisys.co.jp
>
> As specified in A.3.5 Logical functions,
> there are special rules for evaluating
> operands for And, Or and N-of.
> Those 'special' functions could be specified as the first argument of higher-order functions although it is not meaningful in most case.
> In this case, all arguments for a 'special'
> function is evaluated before applying the function.

Haruyuki-san,

Having all the arguments evaluated "before applying the function", is
merely an implementation choice, especially with the higher order
functions.

We stipulate AND, OR, and N-OF as "special" to call out the fact that
there arguments need not be evaluated until they are needed (i.e.
sometimes called "lazy evaluation"). This actually works for *ALL*
functions, as the specification is declarative.

A particular implementation may be extremely lazy in it evaluation.  For
instance, imagine a function F that takes three arguments, a boolean b and
two integer expressions, A and B, (F b A B). The function F returns the
"expression"  of A (not the evaluation) if the first argument evaluates to
True, otherwise it returns the "expression" of B (not its evaluation). The
only thing that needs to get evaluated is "b".

Now, evaluate the expression (F False (F b A B) 3). You will find out that
the expression (F b A B) will not even be attempted to be evaluated.

However, you will notice that if your implementation chooses to evaluate
all the arguments, you will still get the same answer. (i.e. 3).

Cheers,
-Polar

> If the XACML specification allows such a usage, it should be noticed.
>


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [List Home]