pub enum TermIpld {
Atom {
value: String,
},
Variable {
name: String,
},
Number {
value: f64,
},
Compound {
functor: String,
args: Vec<TermIpld>,
},
List {
items: Vec<TermIpld>,
},
Tensor {
dtype: String,
shape: Vec<u64>,
cid: Option<String>,
},
Ref {
cid: String,
hint: Option<String>,
},
}Expand description
IPLD representation of a TensorLogic Term
Covers all term variants in a way that is suitable for content-addressed DAG-CBOR encoding. The representation is flat and self-describing so that IPLD path resolution can traverse into any sub-term without additional context.
Variants§
Atom
Atomic string value
Variable
Logic variable (unbound)
Number
Numeric value (f64 covers integers as well for a uniform JSON/CBOR repr)
Compound
Compound term – a functor applied to zero or more argument terms
List
Ordered list of terms
Tensor
Tensor descriptor; the actual data lives in a separate block addressed
by cid (optional – may be unresolved at encoding time)
Ref
Content-addressed reference to another term block
Trait Implementations§
Source§impl<'de> Deserialize<'de> for TermIpld
impl<'de> Deserialize<'de> for TermIpld
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl StructuralPartialEq for TermIpld
Auto Trait Implementations§
impl Freeze for TermIpld
impl RefUnwindSafe for TermIpld
impl Send for TermIpld
impl Sync for TermIpld
impl Unpin for TermIpld
impl UnsafeUnpin for TermIpld
impl UnwindSafe for TermIpld
Blanket Implementations§
impl<T> Allocation for T
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more