From OpenCog
Jump to: navigation, search

The EvaluatableLink is a kind of Link that can be evaluated, and returns a TruthValue when this is done. This is a base class for many different kinds of link types; it is not meant to be used directly, but rather is an internal implementation device used to support evaluation.

Type checking of EvaluatableLinks are implemented via the C++ class ClassServer and specifically in the validation portion performeed by std::vector<Validator*> _validator; and void ClassServer::addValidator(Type, Validator*);. See /opencog/atoms/base/ClassServer.h

Closely related links that also participate in ClassServer-based type checking include CrispOutputLink, NumericOutputLink, BooleanLink, NumericLink, TypeLink and TypeOutputLink. See the file /opencog/atoms/atom_types/atom_types.script for documentation and details.

Private link type

Users should never use the PrenexLink atom directly; rather, it is a point in the type hierarchy that provides tooling and functions for other atom types.

The methods that it provides are not accessible via atomese, nor in python or scheme, nor are they intended to be; rather, the C++ class provides a low-level store-house of useful methods for performing different kinds of analysis of terms, and the re-writing thereof. As the warning label says: "Caution: Do not open. Risk of electrical shock. No user serviceable parts inside."