Trait fetish_lib::func_impl::FuncImpl [−][src]
pub trait FuncImpl: HasFuncSignature { fn evaluate(
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms); }
Expand description
Trait for primitive function implementations.
Required methods
fn evaluate(
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
[src]
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
Expand description
Given a handle on the current InterpreterState
(primarily useful if additional terms
need to be evaluated / looked up) and the collection of TermReference
arguments to
apply this function implementation to, yields a TermReference
to the result, along
with a collection of any NewlyEvaluatedTerms
which may have arisen as part of the
implementation of this method. See func_impl.rs
in the source for sample implementations.
Trait Implementations
impl Eq for dyn FuncImpl + '_
[src]
Implementors
impl FuncImpl for BinaryFuncImpl
[src]
impl FuncImpl for BinaryFuncImpl
[src]fn evaluate(
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
[src]
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
impl FuncImpl for ComposeImpl
[src]
impl FuncImpl for ComposeImpl
[src]fn evaluate(
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
[src]
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
impl FuncImpl for ConstImpl
[src]
impl FuncImpl for ConstImpl
[src]fn evaluate(
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
[src]
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
impl FuncImpl for FillImpl
[src]
impl FuncImpl for FillImpl
[src]fn evaluate(
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
[src]
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
impl FuncImpl for HeadImpl
[src]
impl FuncImpl for HeadImpl
[src]fn evaluate(
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
[src]
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
impl FuncImpl for MapImpl
[src]
impl FuncImpl for MapImpl
[src]fn evaluate(
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
[src]
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
impl FuncImpl for ReduceImpl
[src]
impl FuncImpl for ReduceImpl
[src]fn evaluate(
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
[src]
&self,
state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
impl FuncImpl for RotateImpl
[src]
impl FuncImpl for RotateImpl
[src]fn evaluate(
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
[src]
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
impl FuncImpl for SetHeadImpl
[src]
impl FuncImpl for SetHeadImpl
[src]fn evaluate(
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)
[src]
&self,
_state: &mut InterpreterState<'_>,
args: Vec<TermReference>
) -> (TermReference, NewlyEvaluatedTerms)