Why wasn't a programming language like python/ java used to specify rules?
Instead of (rule $Expr ($PHRASE) (NumberFn))
# function annotations in python can be used to derive mapping from input type to rule
def numberRule(input: Phrase) -> ExpressionDerivation:
return NumberFn(input)
Instead of (rule $Operator (plus) (ConstantFn (lambda y (lambda x (call + (var x) (var y))))))
# function annotations in python can also be used to derive mapping from input string to rule
def plusRule(input: 'plus') -> OperatorDerivation:
span = input.getSpan()
logicalForm = (lambda y (lambda x (call + (var x) (var y)))
return Derivation(span, logicalForm)
Instead of (rule $Partial ($Operator $Expr) (JoinFn forward))
Why wasn't a programming language like python/ java used to specify rules?
Instead of (rule $Expr ($PHRASE) (NumberFn))
Instead of (rule $Operator (plus) (ConstantFn (lambda y (lambda x (call + (var x) (var y))))))
Instead of (rule $Partial ($Operator $Expr) (JoinFn forward))