- String macros
@monkey_eval_str
,@monkey_vm_str
and@monkey_julia_str
now support string interpolations.
- Transpile Monkey to Julia
Expr
. - Support
while
loops, along withbreak
andcontinue
. - Support mutable variables.
MonkeyLang.jl
can now be built into a standalone executable.- Bytecode VM implemented according to the Compiler Book. VM powered repl can be used with the newly added
use_vm
option of theMonkeyLang.start_repl()
function. - Macro system (
quote
/unquote
/macro
) implemented according to the Lost Chapter) NullLiteral
evaluate(::String)
for direct code evaluation (macros not supported yet)Ctrl-C
(SIGINT
) is handled elegantly.- Many test cases. Code coverage is around 99% at the moment.
- Improved error handling
- Monkey code can now be evaluated with IO redirected.
- Empty line (
\n
) will not cause the REPL to exit, whileCtrl-D
(EOF
) still works as before. - Equality of
STRING
s can be corrected handled. (#d3ac)
- Unnecessary GO-style dummy functions for type recognition.
The first release version.