22 lines
757 B
ReasonML
22 lines
757 B
ReasonML
open ExpressionTypes.ExpressionTree;
|
|
|
|
let toString = ExpressionTreeBasic.toString;
|
|
let envs = (samplingInputs, environment) => {
|
|
{samplingInputs, environment, evaluateNode: ExpressionTreeEvaluator.toLeaf};
|
|
};
|
|
|
|
let toLeaf = (samplingInputs, environment, node: node) =>
|
|
ExpressionTreeEvaluator.toLeaf(envs(samplingInputs, environment), node);
|
|
let toShape = (samplingInputs, environment, node: node) => {
|
|
switch (toLeaf(samplingInputs, environment, node)) {
|
|
| Ok(`RenderedDist(shape)) => Ok(shape)
|
|
| Ok(_) => Error("Rendering failed.")
|
|
| Error(e) => Error(e)
|
|
};
|
|
};
|
|
|
|
let runFunction = (samplingInputs, environment, inputs, fn: PTypes.Function.t) => {
|
|
let params = envs(samplingInputs, environment);
|
|
PTypes.Function.run(params, inputs, fn);
|
|
};
|