|
OpenCog Framework
Branch: master, revision 6f0b7fc776b08468cf1b74aa9db028f387b4f0c0
|
#include <LambdaLink.h>
Inheritance diagram for opencog::LambdaLink:
Collaboration diagram for opencog::LambdaLink:Protected Member Functions | |
| LambdaLink (Type, const HandleSeq &, TruthValuePtr tv=TruthValue::DEFAULT_TV(), AttentionValuePtr av=AttentionValue::DEFAULT_AV()) | |
| void | init (const HandleSeq &) |
Protected Member Functions inherited from opencog::VariableList | |
| void | get_vartype (const Handle &) |
| void | validate_vardecl (const Handle &) |
| void | validate_vardecl (const HandleSeq &) |
| VariableList (Type, const HandleSeq &, TruthValuePtr tv=TruthValue::DEFAULT_TV(), AttentionValuePtr av=AttentionValue::DEFAULT_AV()) | |
| void | build_index (void) |
| Handle | substitute_nocheck (const Handle &, const HandleSeq &) const |
Protected Member Functions inherited from opencog::Atom | |
| Atom (Type t, TruthValuePtr tv=TruthValue::DEFAULT_TV(), AttentionValuePtr av=AttentionValue::DEFAULT_AV()) | |
| void | keep_incoming_set () |
| void | drop_incoming_set () |
| void | insert_atom (LinkPtr) |
| Add an atom to the incoming set. More... | |
| void | remove_atom (LinkPtr) |
| Remove an atom from the incoming set. More... | |
Static Protected Member Functions | |
| static void | prt (const Handle &h) |
Protected Attributes | |
| Handle | _body |
| Handle of the body of the expression. More... | |
Protected Attributes inherited from opencog::VariableList | |
| Variables | _varlist |
| Unbundled variables and types for them. More... | |
Protected Attributes inherited from opencog::Link | |
| HandleSeq | _outgoing |
Protected Attributes inherited from opencog::Atom | |
| UUID | _uuid |
| AtomTable * | _atomTable |
| Type | _type |
| char | _flags |
| TruthValuePtr | _truthValue |
| AttentionValuePtr | _attentionValue |
| std::mutex | _mtx |
| InSetPtr | _incoming_set |
Additional Inherited Members | |
Protected Types inherited from opencog::Atom | |
| typedef std::shared_ptr< InSet > | InSetPtr |
The LambdaLink consitsts of two parts: An optional variable declaration, follwed by an expression body. If a variable declaration is present, then it must conform to current variable declaration standards: i.e. it must be either a single VariableNode, a single TypedVariableLink, or a VariableList. This is then followed by a body, of any arbitrary form. This class does little other than to check for the above-described format, and unpacke the variable decalrations, if present; it will throw an error if an ill-formed LambdaLink is inserted into the atomspace. (As usual, the point of unpacked variables is to act as a memo or cache, speeding up later calculations.)
Definition at line 47 of file LambdaLink.h.
|
protected |
Definition at line 58 of file LambdaLink.cc.
References init().
| LambdaLink::LambdaLink | ( | const HandleSeq & | oset, |
| TruthValuePtr | tv = TruthValue::DEFAULT_TV(), |
||
| AttentionValuePtr | av = AttentionValue::DEFAULT_AV() |
||
| ) |
Definition at line 44 of file LambdaLink.cc.
References init().
| LambdaLink::LambdaLink | ( | const Handle & | varcdecls, |
| const Handle & | body, | ||
| TruthValuePtr | tv = TruthValue::DEFAULT_TV(), |
||
| AttentionValuePtr | av = AttentionValue::DEFAULT_AV() |
||
| ) |
Definition at line 51 of file LambdaLink.cc.
| LambdaLink::LambdaLink | ( | Link & | l | ) |
Definition at line 67 of file LambdaLink.cc.
References opencog::classserver(), opencog::Link::getOutgoingSet(), opencog::Atom::getType(), opencog::ClassServer::getTypeName(), and init().
|
protected |
Definition at line 33 of file LambdaLink.cc.
References _body, and opencog::VariableList::validate_vardecl().
Here is the caller graph for this function:
|
inlinestaticprotected |
Definition at line 60 of file LambdaLink.h.
References opencog::Atom::toShortString().
Definition at line 78 of file LambdaLink.h.
References _body, and opencog::VariableList::substitute().
|
protected |
Handle of the body of the expression.
Definition at line 51 of file LambdaLink.h.