Interface Predicate
-
- All Known Implementing Classes:
BasicNumbers
,BasicStrings
,BasicUtilities
public interface Predicate
A predicate is an operator used inside of comparisons. Comparisons are used in if statements and loop constructs. Sleep supports two types of predicates. A unary predicate which takes one argument. The other type is a binary (normal) predicate which takes two arguments. In the example comparison a == b, a is the left hand side, b is the right hand side, and == is the predicate. Predicate bridges are used to add new predicates to the language.
To install a predicate into a script environment:
ScriptInstance script; // assume Predicate myPredicateBridge; // assume Hashtable environment = script.getScriptEnvironment().getEnvironment(); environment.put("isPredicate", myPredicateBridge);
In the above code snippet the script environment is extracted from the script instance class. A binary predicate can have any name. A unary predicate always begins with the - minus symbol. "isin" would be considered a binary predicate where as "-isletter" would be considered a unary predicate.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description boolean
decide(java.lang.String predicateName, ScriptInstance anInstance, java.util.Stack passedInTerms)
decides the truthfulness of the proposition predicateName applied to the passedInTerms.
-
-
-
Method Detail
-
decide
boolean decide(java.lang.String predicateName, ScriptInstance anInstance, java.util.Stack passedInTerms)
decides the truthfulness of the proposition predicateName applied to the passedInTerms.- Parameters:
predicateName
- a predicate i.e. ==anInstance
- an instance of the script asking about this predicate.passedInTerms
- a stack of terms i.e. [3, 4]. These arguments are passed in REVERSE ORDER i.e. [right hand side, left hand side]- Returns:
- a boolean, in the case of a predicate == and the terms [3, 4] we know 3 == 4 is false so return false.
-
-