Trait leo_asg::reducer::MonoidalReducerProgram[][src]

pub trait MonoidalReducerProgram<'a, T: Monoid>: MonoidalReducerStatement<'a, T> {
    fn reduce_function(&mut self, input: &'a Function<'a>, body: T) -> T { ... }
fn reduce_circuit_member(
        &mut self,
        input: &CircuitMember<'a>,
        function: Option<T>
    ) -> T { ... }
fn reduce_circuit(&mut self, input: &'a Circuit<'a>, members: Vec<T>) -> T { ... }
fn reduce_program(
        &mut self,
        input: &Program<'_>,
        imported_modules: Vec<T>,
        functions: Vec<T>,
        circuits: Vec<T>
    ) -> T { ... } }

Provided methods

Implementors