// Run sequentially if we're not using a parallel interpreter public X Run <X>(DistInterpreter <A, X> interpreter) { var resultA = from x in first from y in second from result in run(x, y) select result; return(resultA.Run(interpreter)); }
public X Run <X>(DistInterpreter <A, X> interpreter) { return(interpreter.Primitive(dist)); }
public X Run <X>(DistInterpreter <A, X> interpreter) { return(interpreter.Pure(Value)); }
public X Run <X>(DistInterpreter <A, X> interpreter) { return(interpreter.Bind(dist, bind)); }
// Run sequentially if we're not using a parallel interpreter public X Run <X>(DistInterpreter <Dist <A>, X> interpreter) { return(Return(dist).Run(interpreter)); }
public X Run <X>(DistInterpreter <A, X> interpreter) { return(interpreter.Conditional(likelihood, dist)); }