Interface NondeterministicFunctionEvaluator

  • All Superinterfaces:
    FunctionEvaluator

    public interface NondeterministicFunctionEvaluator
    extends FunctionEvaluator
    An executor of a function which is non-deterministic. That is, given the same inputs, the function may return a different value for each invocation. Examples of such functions are a random value generator or a function returning the current time.

    Functions which behave in this way should implement this interface so that the framework can recognize them as such. Failure to do so may lead to unexpected results since the framework may apply optimizations, such as constant folding, which cannot be used in the non-deterministic case.