To use this package, put the following dependency into your project's dependencies section:
Repl class is synchronized - once you go into a loop, you can't modify the repl bindings. Not sure if I want to go this way, long-term, but for now it will prevent some bugs.
shared repl = new Repl; repl["add"] = (int a, int b) => a + b; repl["cat3"] = (string x) => x~x~x; repl["jk"] = () => 0xDEADBEEF; repl["jk"] = null; repl.loop;
> hi commands: cat3, add > cat3 cat3 expects (string), got () > add add expects (int, int), got () > add 5 add expects (int, int), got (5) > add 5 10 15 > add 5 apple Unexpected 'p' when converting from type string to type int > cat3 9 999 > cat3 nine nineninenine