Re: Add lists:init/1 - got tired of implementing it
Raimo Niskanen <[email protected]> Fri, 17 Jan 2014 10:44:18 +0100
| Newsgroups | gmane.comp.lang.erlang.patches |
|---|---|
| Message-ID | <[email protected]> |
On Thu, Jan 16, 2014 at 02:54:55PM +0100, Robert Virding wrote: > Shouldn't be called liat/1 instead? Just joking. Hey! That was my idea! / Raimo > > 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 -- / Raimo Niskanen, Erlang/OTP, Ericsson AB _______________________________________________ erlang-patches mailing list [email protected] http://erlang.org/mailman/listinfo/erlang-patches