pub struct PrologPredicate {
pub name: String,
pub arity: usize,
pub clauses: Vec<PrologClause>,
pub is_dynamic: bool,
pub is_exported: bool,
pub is_discontiguous: bool,
pub module: Option<String>,
pub doc: Option<String>,
}Expand description
A Prolog predicate: a collection of clauses sharing the same functor/arity.
Fields§
§name: StringPredicate name (functor).
arity: usizeArity.
clauses: Vec<PrologClause>All clauses for this predicate (in order).
is_dynamic: boolWhether this predicate is declared :- dynamic.
is_exported: boolWhether this predicate is exported from its module.
is_discontiguous: boolWhether this predicate is declared :- discontiguous.
module: Option<String>Optional module qualification.
doc: Option<String>Optional documentation string.
Implementations§
Source§impl PrologPredicate
impl PrologPredicate
Sourcepub fn new(name: impl Into<String>, arity: usize) -> Self
pub fn new(name: impl Into<String>, arity: usize) -> Self
Create a new predicate with no clauses.
Sourcepub fn add_clause(&mut self, clause: PrologClause)
pub fn add_clause(&mut self, clause: PrologClause)
Add a clause.
Sourcepub fn discontiguous(self) -> Self
pub fn discontiguous(self) -> Self
Mark as discontiguous.
Trait Implementations§
Source§impl Clone for PrologPredicate
impl Clone for PrologPredicate
Source§fn clone(&self) -> PrologPredicate
fn clone(&self) -> PrologPredicate
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for PrologPredicate
impl Debug for PrologPredicate
Source§impl PartialEq for PrologPredicate
impl PartialEq for PrologPredicate
impl StructuralPartialEq for PrologPredicate
Auto Trait Implementations§
impl Freeze for PrologPredicate
impl RefUnwindSafe for PrologPredicate
impl Send for PrologPredicate
impl Sync for PrologPredicate
impl Unpin for PrologPredicate
impl UnsafeUnpin for PrologPredicate
impl UnwindSafe for PrologPredicate
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