Is there a way to have a full interpreter in Erlang, and not just a "shell".
Since this is a dynamic language, the inability to define named functions in the interpreter is a little disappointing ... I suspect that this is because compilation modules (modules) must be explicitly compiled to execute them by VM, but there may be a REPL acting as dynamic / recompiled module?
This is due to the definition of erlang functions in the shell
Short answer:
Longer answer:
F = fun() → io: format ( "Hello World ~ n", []) end.F().
F = fun() → io: format ( "Hello World ~ n", []) end.
F().
, , .
Erlang VM . , , , , , . , , lisp. , , , . "shell-", . erlang.
And to be honest, I see no reason that recompiling and reloading the code has always been so fast that it was not a problem. It will be more a habit than a convenience.