RewriteLink

From OpenCog
Jump to: navigation, search

A RewriteLink is a kind of ScopeLink, that provides many functions useful for implementing term rewriting. It is not typically used by itself; rather, it serves as a base class for many link types, most importantly the PrenexLink. Much of what RewriteLink provides are methods for beta reduction, and specifically, for composing together LambdaLinks. When compositing Lambdas, the input variable types must match the outputs of the composed lambda; the RewriteLink performs the type checking.

Private link type

Users should never use the RewriteLink 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."