The term evaluatable refers to a function or predicate for which some calculation is required in SubL. Some predicate might be deemed evaluatable if computing its value would be more efficient in a non-declarative language like CycL; for example, calculating the successor of a number, or compiling an ordered list from an unordered collection. If a function is evaluatable then it must have either an #$evaluationDefn
assertion on it that has a SubL-hook (the name of a SubL method wrapped by a #$SubLQuoteFn
) to know which method to call to compute the output, or an #$evaluatableFunctionDefinition
assertion which defines the evaluation of the function in terms of other evaluatable expressions.