Re: Add lists:init/1 - got tired of implementing it
Siri Hansen <[email protected]> Thu, 16 Jan 2014 11:26:02 +0100
| Newsgroups | gmane.comp.lang.erlang.patches |
|---|---|
| Message-ID | <CAGqERUEVKc8Wyp5KeNtOvtCWLQAeW3_mLHKWh1mDvX6tEap4+g@mail.gmail.com> |
Hi Hans! After many and long discussions we have now decided to re-open this patch and approve it with some comments: 1. we would like the name of the function to be 'droplast'. 2. we want the simple recursive implementation with no special handling of bad arguments, i.e. we think it is ok with a function_clause error for arguments that are not non-empty proper lists. Would you mind doing these adjustments in the patch? Best Regards /siri 2013/5/21 Hans Svensson <[email protected]> > Hello Hans, >> I've got some feedback on your patch after review: >> We have decided to reject this patch as we don't see a general need for >> the new function. >> >> Thanks for showing interest in contributing! >> >> -- >> >> BR Fredrik Gustafsson >> Erlang OTP Team >> >> > That is sad news, and we find it a bit strange since *you* (as in the OTP > team) yourself seems use this particular function/pattern quite frequently. > We did a quick search through the OTP code base and found quite a few > places where this particular function is either implemented recursively and > used, or just uses reverse(tl(reverse(List)))). Also interesting to see is > the different names used: first, butlast, but_last and remove_last_element. > > Code implementing the "init"-function: > compiler > v3_core:first/1 > v3_kernel:first/1 > dialyzer > dialyzer_contracts:but_last/1 > dialyzer_gui:butlast/1 > hipe > hipe_icode_type:butlast/1 > orber > orber_interceptors:remove_last_element/1 > > Direct uses of reverse(tl(reverse(L))): > sasl > in systools_make:smart_guess/3 > wx_gen > in wx_gen:erl_skip_opt2/4 > ssh > in ssh_sftpd > > Any further comments on this, it is really not a "new" function it is a > missing function ;-) > > Cheers, > > Hans > > _______________________________________________ > erlang-patches mailing list > [email protected] > http://erlang.org/mailman/listinfo/erlang-patches > _______________________________________________ erlang-patches mailing list [email protected] http://erlang.org/mailman/listinfo/erlang-patches