<div dir="ltr"><div>See a separate mail about EEP 44 and 45 that I just sent.<br><br></div><div>The information is also on <a href="http://www.erlang.org">www.erlang.org</a><br></div><div><br></div>/Kenneth <br></div><div class="gmail_extra"><br><div class="gmail_quote">On Thu, Jun 2, 2016 at 2:29 AM, Michael Truog <span dir="ltr"><<a href="mailto:mjtruog@gmail.com" target="_blank">mjtruog@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><span class="">On 10/29/2015 06:08 AM, Björn Gustavsson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Here is the fourth draft with more clarifications.<br>
<br>
There is also a minor correction in the reference implementation.<br>
<br>
<a href="http://www.erlang.org/eeps/eep-0044.html" rel="noreferrer" target="_blank">http://www.erlang.org/eeps/eep-0044.html</a><br>
<a href="https://github.com/erlang/eep/blob/master/eeps/eep-0044.md" rel="noreferrer" target="_blank">https://github.com/erlang/eep/blob/master/eeps/eep-0044.md</a><br>
<br>
/Björn<br>
<br>
</blockquote></span>
It is unclear if these changes will make it into 19.0.  Will any of EEP44 be available?<br>
<br>
The is_deprecated/3 described by EEP44 seems unusable due to being focused on Erlang/OTP deprecated functions.  Could we instead implement it with usage of the module_info function so that anyone can easily use is_deprecated/3?  I don't think it requires checking the exports list (if someone is checking an unexported function, that is their problem that they should discover later in their source code).  I have an example implementation below:<br>
<br>
is_deprecated(Module, Function, Arity) -><br>
    Attributes = Module:module_info(attributes),<br>
    lists:any(fun(Attribute) -><br>
        case Attribute of<br>
            {deprecated, [_ | _] = Deprecated} -><br>
                lists:any(fun(Deprecate) -><br>
                    case Deprecate of<br>
                        {Function, FunctionArity, _}<br>
                            when FunctionArity == Arity;<br>
                                 FunctionArity == '_' -><br>
                            true;<br>
                        {Function, FunctionArity}<br>
                            when FunctionArity == Arity;<br>
                                 FunctionArity == '_' -><br>
                            true;<br>
                        _ -><br>
                            false<br>
                    end<br>
                end, Deprecated);<br>
            _ -><br>
                false<br>
        end<br>
    end, Attributes).<div class="HOEnZb"><div class="h5"><br>
_______________________________________________<br>
erlang-questions mailing list<br>
<a href="mailto:erlang-questions@erlang.org" target="_blank">erlang-questions@erlang.org</a><br>
<a href="http://erlang.org/mailman/listinfo/erlang-questions" rel="noreferrer" target="_blank">http://erlang.org/mailman/listinfo/erlang-questions</a><br>
</div></div></blockquote></div><br></div>