[erlang-questions] [Erlang]about "apply" function in the erlang.erl
Richard O'Keefe
ok@REDACTED
Wed May 18 00:33:37 CEST 2011
On 17/05/2011, at 7:48 PM, 郎咸武 wrote:
> hi,
> I see "apply" function invoke "apply“function in the "erlang.erl".
> I can`t understand it.
> Who can explain for me? Thanks.
>
> 57 apply(Fun, Args) ->
> 58 apply(Fun, Args).
> 59
> 60 apply(Mod, Name, Args) ->
> 61 apply(Mod, Name, Args).
It's a fairly common "bootstrapping" sort of thing.
Presumably
- when the compiler sees apply/2 or apply/3 in an expression
it generates special in-line code
- there needs to be a "real" function definition so that it
can be called indirectly itself, discoverable in the
module exports, traced if calls arrive that way in the
debugger, &c
More information about the erlang-questions
mailing list