What is the benefit of extending Core.eval instead of Base.MainInclude.eval? I.e. could these lines instead be Base.MainInclude.eval(rulenode::RuleNode, grammar::Grammar) = Core.eval(Main, get_executable(rulenode, grammar))? This might make more sense with the desired usage eval(rulenode, grammar) extending eval(expr) rather than Core.eval(rulenode, grammar) extending Core.eval(m::Module, expr).
What is the benefit of extending
Core.evalinstead ofBase.MainInclude.eval? I.e. could these lines instead beBase.MainInclude.eval(rulenode::RuleNode, grammar::Grammar) = Core.eval(Main, get_executable(rulenode, grammar))? This might make more sense with the desired usageeval(rulenode, grammar)extendingeval(expr)rather thanCore.eval(rulenode, grammar)extendingCore.eval(m::Module, expr).