Re: Add lists:init/1 - got tired of implementing it
Robert Virding <[email protected]> Thu, 16 Jan 2014 14:54:55 +0100 (CET)
| Newsgroups | gmane.comp.lang.erlang.patches |
|---|---|
| Message-ID | <687872115.458344.1389880495470.JavaMail.zimbra@erlang-solutions.com> |
Shouldn't be called liat/1 instead? Just joking. Robert ----- Original Message ----- > From: "Siri Hansen" <[email protected]> > To: "Hans Svensson" <[email protected]> > Cc: "erlang-patches" <[email protected]> > Sent: Thursday, 16 January, 2014 11:26:02 AM > Subject: Re: [erlang-patches] Add lists:init/1 - got tired of implementing it > 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 _______________________________________________ erlang-patches mailing list [email protected] http://erlang.org/mailman/listinfo/erlang-patches