Re: Add lists:init/1 - got tired of implementing it
Håkan Mattsson <[email protected]> Thu, 16 Jan 2014 23:03:22 +0100
| Newsgroups | gmane.comp.lang.erlang.patches |
|---|---|
| Message-ID | <CANRhibtrusZwdovsVHR=ndXjz4bzQArMiEUvS1GrSo+K8j6yLg@mail.gmail.com> |
Or chop/1 to be compatible with Perl. ;-) /Håkan On Thu, Jan 16, 2014 at 2:54 PM, Robert Virding <[email protected]> wrote: > Shouldn't be called liat/1 instead? Just joking. > > Robert > > ________________________________ > > 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 > _______________________________________________ erlang-patches mailing list [email protected] http://erlang.org/mailman/listinfo/erlang-patches