OpenCog Framework
Branch: master, revision 6f0b7fc776b08468cf1b74aa9db028f387b4f0c0
|
#include <LambdaLink.h>
Protected Member Functions | |
LambdaLink (Type, const HandleSeq &, TruthValuePtr tv=TruthValue::DEFAULT_TV(), AttentionValuePtr av=AttentionValue::DEFAULT_AV()) | |
void | init (const HandleSeq &) |
![]() | |
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 |
![]() | |
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... | |
![]() | |
Variables | _varlist |
Unbundled variables and types for them. More... | |
![]() | |
HandleSeq | _outgoing |
![]() | |
UUID | _uuid |
AtomTable * | _atomTable |
Type | _type |
char | _flags |
TruthValuePtr | _truthValue |
AttentionValuePtr | _attentionValue |
std::mutex | _mtx |
InSetPtr | _incoming_set |
Additional Inherited Members | |
![]() | |
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().
|
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.