[erlang-questions] Stuff that breaks when you move it

Christian chsu79@REDACTED
Mon Aug 3 20:28:17 CEST 2009


On Mon, Aug 3, 2009 at 15:04, Joe Armstrong<erlang@REDACTED> wrote:
> There's two kinds of stuff:
>
>    A) Stuff which doesn't break when you move it
>    B) Stuff which breaks when you move it

I'm not sure if you were just talking about general design but this example:

> Experiment:
>
>    # cd /usr/local/lib
>    # mv erlang globble
>    # globble/bin/erl
>    exec: 28: /usr/local/lib/erlang/erts-5.7.1/bin/erlexec: not found

This is surely just about the paths inside the script 'erl' itself.
The ROOTDIR variable in there looks suspicious indeed.

I actually quite like that erl stores the installation directory in
itself. I prefer it over java's JAVA_HOME environment variable. If I
want to use a specific java version i have installed I need to set
JAVA_HOME correctly, AND start the right java binary. In erlang I
point out what I want and that is what I get.

Since argv[0] / $0 is unreliable for finding the installation dir, I
think Erlang does the pragmatic best way for being insensitive to what
its installation dir is.

Also, about HTML, what some (you?) perceive as a disadvantage is
someone else's advantage. If every HTML document would include the
pictures, scripts and css, then you would have to load all that even
if those parts were the same.


More information about the erlang-questions mailing list