pub enum EirTerm {
Variable(String),
Anonymous,
Integer(i64),
FloatBits(u64),
String(String),
Symbol(u32),
List(Vec<EirTerm>),
Cons {
head: Box<EirTerm>,
tail: Box<EirTerm>,
},
Compound {
functor: String,
args: Vec<EirTerm>,
},
PredRef(String),
Aggregate {
op: String,
variable: String,
},
}Expand description
Term representation preserved at the epistemic boundary.
Variants§
Variable(String)
Named logic variable.
Anonymous
Anonymous wildcard.
Integer(i64)
Integer literal.
FloatBits(u64)
Floating-point literal represented by its IEEE-754 bits.
String(String)
Quoted string literal.
Symbol(u32)
Interned symbol identifier.
List(Vec<EirTerm>)
Finite list literal.
Cons
Finite cons pattern.
Compound
Finite compound term.
PredRef(String)
Static predicate reference.
Aggregate
Aggregate term preserved from a rule head.
Trait Implementations§
impl Eq for EirTerm
impl StructuralPartialEq for EirTerm
Auto Trait Implementations§
impl Freeze for EirTerm
impl RefUnwindSafe for EirTerm
impl Send for EirTerm
impl Sync for EirTerm
impl Unpin for EirTerm
impl UnsafeUnpin for EirTerm
impl UnwindSafe for EirTerm
Blanket Implementations§
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Checks if this value is equivalent to the given key. Read more