[erlang-questions] [ANN] power_shell 1.1.2 has been released
Fri Sep 20 05:18:06 CEST 2019
There are two reasons to name is eval/3:
1. Clearly indicate evaluation rather than actual execution.
2. Avoid clash with erlang:apply/3. When power_shell is started as an
application (e.g. application:start(power_shell) in Erlang shell), it
becomes a part of the shell, so you can just type eval(mod, fun,
As for the project name, it is purely historical, and has no relation
On Wed, 18 Sep 2019 at 21:06, Richard O'Keefe <raoknz@REDACTED> wrote:
> The example is power_shell:eval(dist_util, gen_challenge, ).
> With the arguments being Module, Function, Arguments, why is
> it not called power_shell:apply/3?
> Since I'm currently trying to learn PowerShell, I was initially
> confused by the module name.
> On Thu, 19 Sep 2019 at 16:02, Maxim Fedorov <maximfca@REDACTED> wrote:
>> power_shell is an application providing a convenient way to evaluate
>> functions extracted from compiled *.beam file, or read from *.erl
>> How do we use it at WhatsApp?
>> Debugging on production machines: evaluating functions that are not
>> exported. For example, dist_util.erl contains gen_challenge/0, but it
>> is not accessible without making a change to OTP kernel application.
>> Using power_shell:eval(dist_util, gen_challenge, ) yields the
>> desired result.
>> Common Tests: testing functions that are not exported. We want to test
>> against production build, providing production API.
>> Development: changing *.erl file and immediately evaluating functions
>> directly from *.erl file (no need to c(mymodule) to compile and load
>> updated code).
>> Package is available on hex:
>> Source code is available on GitHub:
>> erlang-questions mailing list
More information about the erlang-questions