Refactor `synth`
THinnerichs opened this issue · comments
Tilman Hinnerichs commented
- introduce
eval(...)
to take care of the different interpretation outputs ofHerbInterpret.interpret(...)
- introduce
stop_criterium(...)
defining when to stop the search
Reuben Gardos Reid commented
@THinnerichs can we close now that #70 is published?
Tilman Hinnerichs commented
evaluate(...)
should be able to take different kinds of problem specification. This is definitely for later.stop_criterium
is still open.
We have
score = evaluate(problem, expr, symboltable, shortcircuit=shortcircuit, allow_evaluation_errors=allow_evaluation_errors)
if score == 1
return (candidate_program, optimal_program)
elseif score >= best_score
best_score = score
best_program = candidate_program
end
but we may want to stop using other criteria than score == 1
.