pub enum MemoryCapability {
Remembering,
Recalling,
AnsweringQuestions,
TravellingInTime,
KeepingEvidence,
KeepingReasons,
FollowingReasons,
}Expand description
One thing a memory backend can do.
Variants§
Remembering
Keeps what it is given.
Recalling
Gives back what it kept.
AnsweringQuestions
Answers a question put in words, rather than returning everything and leaving the caller to read it.
TravellingInTime
Reads memory as it stood at a moment, excluding what was learned afterwards.
KeepingEvidence
Keeps the evidence attached to an entry, not only the claim.
KeepingReasons
Keeps the reasons between entries, and gives them back.
The one capability a caller should look for before deciding this memory is worth writing to: entries without their edges can be read and not followed, and following is how a later session works out why something was done.
FollowingReasons
Finds the chain of reasons between two entries.
Keeping reasons and being able to follow them are not the same capability: one is storage, the other is search. A backend may hold every edge and still be unable to answer “how did this come from that”, which is the question the memory exists for.
Implementations§
Trait Implementations§
Source§impl Clone for MemoryCapability
impl Clone for MemoryCapability
Source§fn clone(&self) -> MemoryCapability
fn clone(&self) -> MemoryCapability
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more