Add evaluate partial for back compatibility
This commit is contained in:
parent
351381339c
commit
3bbc5e7149
|
@ -11,4 +11,5 @@ type expressionValue = ReducerInterface_ExpressionValue.expressionValue
|
||||||
type externalBindings = ReducerInterface_ExpressionValue.externalBindings
|
type externalBindings = ReducerInterface_ExpressionValue.externalBindings
|
||||||
let evaluate = Expression.evaluate
|
let evaluate = Expression.evaluate
|
||||||
let evaluateUsingOptions = Expression.evaluateUsingOptions
|
let evaluateUsingOptions = Expression.evaluateUsingOptions
|
||||||
|
let evaluatePartialUsingExternalBindings = Expression.evaluatePartialUsingExternalBindings
|
||||||
let parse = Expression.parse
|
let parse = Expression.parse
|
||||||
|
|
|
@ -21,6 +21,12 @@ let evaluateUsingOptions: (
|
||||||
string,
|
string,
|
||||||
) => result<expressionValue, errorValue>
|
) => result<expressionValue, errorValue>
|
||||||
@genType
|
@genType
|
||||||
|
let evaluatePartialUsingExternalBindings: (
|
||||||
|
string,
|
||||||
|
QuriSquiggleLang.ReducerInterface_ExpressionValue.externalBindings,
|
||||||
|
QuriSquiggleLang.ReducerInterface_ExpressionValue.environment,
|
||||||
|
) => result<externalBindings, errorValue>
|
||||||
|
@genType
|
||||||
let evaluate: string => result<expressionValue, errorValue>
|
let evaluate: string => result<expressionValue, errorValue>
|
||||||
|
|
||||||
let parse: string => result<Expression.expression, errorValue>
|
let parse: string => result<Expression.expression, errorValue>
|
||||||
|
|
|
@ -114,3 +114,15 @@ let evaluate = (code: string): result<expressionValue, errorValue> => {
|
||||||
evaluateUsingOptions(~environment=None, ~externalBindings=None, code)
|
evaluateUsingOptions(~environment=None, ~externalBindings=None, code)
|
||||||
}
|
}
|
||||||
let eval = evaluate
|
let eval = evaluate
|
||||||
|
let evaluatePartialUsingExternalBindings = (
|
||||||
|
code: string,
|
||||||
|
externalBindings: ReducerInterface_ExpressionValue.externalBindings,
|
||||||
|
environment: ReducerInterface_ExpressionValue.environment,
|
||||||
|
): result<externalBindings, errorValue> => {
|
||||||
|
let rAnswer = evaluateUsingOptions(~environment=Some(environment), ~externalBindings=Some(externalBindings), code)
|
||||||
|
switch rAnswer {
|
||||||
|
| Ok(EvRecord(externalBindings)) => Ok(externalBindings)
|
||||||
|
| Ok(_) => Error(Reducer_ErrorValue.RESyntaxError(`Partials must end with an assignment or record`))
|
||||||
|
| Error(err) => err->Error
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
Loading…
Reference in New Issue
Block a user