Predicate Reference

The following predicates can be used to begin a statement.

forall(Symbol, Predicate)

The predicate is true if all instances have property. Use this predicate to start a constraint statement

forany(Symbol, Predicate) Finds all instances which have property. Use this predicate to start a query statement.
forn(Symbol, Predicate) ??. Use this predicate to start a query statement.

 

/=(Any, Any) The predicate is true if the two parameters are not equal
<(Number, Number) The predicate is true if the first argument is less than the second argument.
<=>(Predicate, Predicate) The predicate is true if left and right are equivalent, i.e. if they are both true or both false.
=(Any, Any) The predicate is true if the two parameters are equal.
=>(Predicate, Predicate) The predicate is true if assumption is false, or if both assumption and conclusion are true.
>(Number, Number) The predicate is true if the first argument is greater than the second argument.
allowed-slot-value(Slot, Class, Any) The predicate is true if value is allowed for the slot in the class.
allowed-slot-value-type(Slot, Class, Class) The predicate is true if type is allowed for the slot in the class.
and(Predicate, Predicate) The predicate is true when both predicates in the argument list are true.
direct-instance-of(Frame, Class) The predicate is true if the first argument is a direct instance of the second argument.
direct-subclass-of(Class, Class) The predicate is true if the first argument is the direct subclass of the second argument.
direct-superclass-of(Class, Class) The predicate is true if the first argument is the direct superclass of the second argument.
direct-template-slot-of(Slot, Frame) The predicate is true if the first argument is the direct template slot of the second argument.
element-of(Any, Instance) The predicate is true if the instance is an element of the first parameter.
even(Integer) The predicate is true if the integer is an even integer.
exists(Symbol, Predicate) The predicate is true if there exists at least one instance which has property.
facet-not-null(Facet, Frame, Slot) The predicate is true if the facet describing the slot is not null.
instance-of(Frame, Class) The predicate is true if the frame is an instance of the class.
is-class(Any) The predicate is true if the parameter is a class.
is-concrete-class(Any) The predicate is true if the parameter is a concrete class.
is-frame(Any) The predicate is true if the parameter is a frame.
negative(Number) The predicate is true if the number is a negative number
not(Predicate) The predicate is true if the argument predicate is false, and vice versa.
odd(Integer) The predicate is true if the integer is an odd integer.
or(Predicate, Predicate) The predicate is true if either predicate in the argument list is true.
own-facet-not-null(Facet, Frame, Slot) The predicate is true if the facet describing the slot is not null.
own-slot-not-null(Slot, Frame) The predicate is true if the slot belonging to the frame is not null.
own-slot-of(Slot, Frame) The predicate is true if the slot is an own slot of the frame.
positive(Number) The predicate is true if the number is a positive number.
prefix-of(String, String) The predicate is true if the first parameter is a prefix of the second parameter.
prime(Integer) The predicate is true if the integer is a prime integer.
slot-at-class-is-boolean-valued(Slot, Class) The predicate is true if the slot belonging to the class is of value type boolean.
slot-at-class-is-class-valued(Slot, Class) The predicate is true if the slot belonging to the class is of value type class.
slot-at-class-is-float-valued(Slot, Class) The predicate is true if the slot belonging to the class is of value type float.
slot-at-class-is-frame-valued(Slot, Class) The predicate is true if the slot belonging to the class is of value type frame.
slot-at-class-is-instance-valued(Slot, Class) The predicate is true if the slot belonging to the class is of value type instance.
slot-at-class-is-integer-valued(Slot, Class) The predicate is true if the slot belonging to the class is of value type integer.
slot-at-class-is-primitive-valued(Slot, Class) The predicate is true if the slot belonging to the class is one of the primitive types, including boolean, string, integer, float, and symbol.
slot-at-class-is-single-valued(Slot, Class) The predicate is true if the slot belonging to the class allows only single value.
slot-at-class-is-string-valued(Slot, Class) The predicate is true if the slot belonging to the class is of value type string.
slot-at-class-is-symbol-valued(Slot, Class) The predicate is true if the slot belonging to the class is of value type symbol.
   
   
   
   
   

Next:

PAL Table of Contents