Trait TypeConstraint

Source
pub trait TypeConstraint {
    // Required method
    fn get(
        &self,
        arguments: &[AtomTerm],
        typeinfo: &TypeInfo,
    ) -> Vec<Box<dyn Constraint<AtomTerm, ArcSort>>>;
}
Expand description

A trait for generating type constraints from atom applications. This is used to create constraints that ensure proper typing of function/primitive applications.

Required Methods§

Source

fn get( &self, arguments: &[AtomTerm], typeinfo: &TypeInfo, ) -> Vec<Box<dyn Constraint<AtomTerm, ArcSort>>>

Generates constraints for the given arguments based on this type constraint. The constraints ensure that the arguments have compatible types.

Implementors§