Polar,
I agree with the approach where where ERROR in
evaluating 'or', 'and'
is used as placeholder until
all components are evaluated.
Then, if
ERROR can be substituted with either (true, false) without changing result,
result is returned.
If this substitution can not be made, error is
returned.
'and': false, ERROR, true -> false
'and': true, ERROR, true -> ERROR
'or': false, ERROR, true -> false
'or' true, ERROR, true -> true
I'm still not sure what is the purpose of error
functions.
If an error is raised, there is a prescription of
what must be done
during condition evaluation and rule
evaluation.
Even if we had error functions there is no syntax
to accomodate them.
Also, what to do if error-handling function is
raising an error, such as invalid default value etc?
Simon
|