|
![](/i/fill.gif) |
>> 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.
>
> I believe that's correct. And the old version sent the MD5 of the range
> of bytes that implement the function, or something. (It's actually the
> AST, which is available also as part of the macro expansion phase of
> compilation.)
The trouble is, if the compiler optimisations change, the BEAM code
might change, even if what the function actually does is unaffected.
That [I would hope] is why it hashes the AST, not the compiled code.
OTOH, depending on how it works, there may be more than one AST which is
trivially equivilent.
OTFH, I believe Rice's theorum states that function equity is
undecidable. We're not really trying to prove which functions are equal;
we're trying to prove which ones are *not* equal...
>> So the description is "far from complete"? That's really helpful.
>
> Yet typical for open source, where proponents often claim that the code
> *is* the documentation.
The source code *is* the documentation = EPIC FAILURE.
The usual response I see from OSS is "you should be greatful we bothered
to write any documentation at all!"
>> Oh, but
>> the protocols "are stable since many years". So I'm guessing English
>> isn't
>> your first language then? :-P
>
> Uh, no. Ericcson.com, corporate headquarters Stockholm, Sweden.
LOLRUS.
--
http://blog.orphi.me.uk/
http://www.zazzle.com/MathematicalOrchid*
Post a reply to this message
|
![](/i/fill.gif) |