[eeps] New - EEP 44: Additional preprocessor directives
Loïc Hoguin
essen@REDACTED
Tue Oct 13 11:59:38 CEST 2015
Hi,
Overall quite happy with the EEP.
On 10/13/2015 11:31 AM, Vlad Dumitrescu wrote:
> Hi!
>
> While I think that the proposed changes are good and will improve the
> preprocessor, I am worried about the effect it will have on how code is
> build and on code that may run on unspecified OTP versions (escripts).
> If I understand correctly, these are some of the effects:
>
> * one will now be forced to compile within an environment identical to
> the target - so that all the preprocessor conditions resolve to the
> right values. This includes having all dependencies (even transitive?)
> installed in the development environment and the build server, not only
> OTP. Is the application descriptor enough to define that, or does it
> need to be extended? Maybe the new package manager is supposed to help here?
People already do these things, although in a more awkward way, as
explained in the EEP. I don't foresee the ecosystem to change much just
because the preprocessor lets you do it more easily.
> * if one targets multiple versions, then the set-up of the development
> environment is unwieldy unless one needs to use something like kerl to
> manage the multiple environments. It feels a bit wrong to have OTP
> depend indirectly on a third party application... I think that OTP
> should provide tools to help with that.
I'm not sure what you think something inside OTP can do better than
something outside OTP. Can you clarify your thoughts on that?
I think it's very good that so much of the ecosystem relies on third
party tools and libraries. It's a sign that Erlang is thriving. It's no
longer the sole responsibility of the OTP team to provide everything.
> * if not deploying an OTP application or a full system, one can't know
> if the target will fulfill the expected conditions - what about compiled
> escripts?
Those tend to be compiled for the lowest supported version to make sure
they work "everywhere". I don't think this EEP will change anything
about that.
--
Loïc Hoguin
http://ninenines.eu
Author of The Erlanger Playbook,
A book about software development using Erlang
More information about the eeps
mailing list