Notes from OTP Technical Board

May 18, 2016 ยท by Kenneth Lundin

The following decisions regarding EEPs (Erlang Enhancement Proposals) has been taken during the spring: #

EEP-45 Function_Name and Function_Arity as macros #

Approved

Already implemented and available in OTP 19.0-rc1.

EEP-44 Additional preprocessor directives #

Partly Approved

Only the -warning and -error directives was approved and they are already implemented and available in OTP 19.0-rc1.

Some of the reasons for not approving the other directives in EEP-44 where:

  • Rather unclear what an OTP_RELEASE is and it will not be clearer as there are plans to split OTP in several parts.
  • Could lead to strange situations if these directives are combined with a package manager which also deals with dependencies.
  • Could lead to strange situations if testing for a version or existence of functions in non OTP modules.

In summary we where not convinced that the new directives will solve more problems than they might introduce. It is also already rather easy to create a preprocessor variable in the build-procesess that can be used in combination with -ifdef to achieve similar effects.