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 _______________________________________________ eeps mailing list [email protected] http://erlang.org/mailman/listinfo/eeps
