[erlang-questions] Strings - deprecated functions

zxq9 zxq9@REDACTED
Fri Nov 24 15:22:51 CET 2017


On 2017年11月24日 金曜日 09:07:11 you wrote:
> So how do we get both?

The eternal million-dollar-question.

My (probably crappy) solution is the same for this as for untangling
dependency knots:

semver + static dependency declarations

This also means no automatic dependency upgrades.

I'm not sure how to make this a part of Erlang itself, though, so for now
my way of doing things involves making it possible to execute different
ERTS versions and making each execution of a program determine from its
metadata what specific libs to pull, build and include in the execution
environment (that is, do not allow "latest available", instead be explicit).

...which means, of course an external tool that does all that, and a repo
that knows what you are asking for. It is up to a packager to define explicit
dependencies (but dependencies are flat declarations, not trees that might
conflict -- working that out is the packager's main burden, and this means
you get bug-reproducible re-runs within a specific version of a package).

I've never attempted to make a cross-platform utility that could install
various versions of Erlang on the fly (Windows is always a mystery) but
a cheap way of leaning on kerl has worked for me in the past on Linux.
But again, it requires extra declarations on the part of a packager, which
means someone has to test on various versions. This rarely happens, so I
cheat and tend to wind up always just writing against the latest ERTS
release -- and then we run into the core lib changes problem again.

Anyway, its a circle of fun. Runtime and stdlib changes are always white
hot with friction.

-Craig



More information about the erlang-questions mailing list