|
![](/i/fill.gif) |
On 17/05/2011 16:19, Darren New wrote:
> More erlang fanning:
>
> The protocol between the deamons:
>
> http://www.erlang.org/doc/apps/erts/erl_dist_protocol.html
>
> The protocol between the individual actors:
>
> http://www.erlang.org/doc/apps/erts/erl_ext_dist.html
Ouch. The pain...
> You want to look at 8.21 and 8.22. It seems the code doesn't ship, since
> logically the function can't really be constructed at runtime. Instead,
> it's a reference into the BEAM file (where a BEAM is like a java jar).
Erlang sends an index into the BEAM file, the eventual Haskell
implementation is going to send linker labels (i.e., indexes into the
executable image).
I notice also that Erlang sends "Uniq", which is "the hash value of the
parse for the fun". In other words, it sounds like it's a cryptographic
hash function of the syntax tree for the function's source code. Which
is pretty much what the Haskell people are talking about for version
control.
> Because of course "external term format" is exactly what anyone would
> google for to find that.
Oh, but of course!
> I'm also rather amused that altho Erlang has
> wonderfully powerful expressions for parsing byte streams, they used
> ASCII art with ambiguous textual descriptions to describe the format of
> the stuff on the wire instead of giving you the Erlang expression that
> would parse it unambiguously.
Myself, I was amused by
"The description here is far from complete and will therefore be further
refined in upcoming releases. The protocols both from Erlang nodes
towards EPMD (Erlang Port Mapper Daemon) and between Erlang nodes,
however, are stable since many years. "
So the description is "far from complete"? That's really helpful. Oh,
but the protocols "are stable since many years". So I'm guessing English
isn't your first language then? :-P
Post a reply to this message
|
![](/i/fill.gif) |