25 lines
754 B
Plaintext
25 lines
754 B
Plaintext
open ASTTypes.AST
|
|
|
|
let toString = ASTTypes.AST.Node.toString
|
|
|
|
let envs = (samplingInputs, environment) => {
|
|
samplingInputs: samplingInputs,
|
|
environment: environment,
|
|
evaluateNode: ASTEvaluator.toLeaf,
|
|
}
|
|
|
|
let toLeaf = (samplingInputs, environment, node: node) =>
|
|
ASTEvaluator.toLeaf(envs(samplingInputs, environment), node)
|
|
|
|
let toPointSetDist = (samplingInputs, environment, node: node) =>
|
|
switch toLeaf(samplingInputs, environment, node) {
|
|
| Ok(#RenderedDist(pointSetDist)) => Ok(pointSetDist)
|
|
| 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)
|
|
}
|