Struct programinduction::Task [] [src]

pub struct Task<'a, R: Send + Sync + Sized, X: Clone + Send + Sync, O: Sync> {
    pub oracle: Box<Fn(&R, &X) -> f64 + Send + Sync + 'a>,
    pub observation: O,
    pub tp: TypeSchema,
}

A task which is solved by an expression under some representation.

A task can be made from an evaluator and examples with lambda::task_by_evaluation or pcfg::task_by_evaluation.

Fields

Evaluate an expression by getting its log-likelihood.

Some program induction methods can take advantage of observations. This may often practically be the unit type ().

An expression that is considered valid for the oracle is one of this type.

Trait Implementations

Auto Trait Implementations

impl<'a, R, X, O> Send for Task<'a, R, X, O> where
    O: Send

impl<'a, R, X, O> Sync for Task<'a, R, X, O>