Home / Glossary / Evaluatable

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.