What about calling it the `passthrough` function? That way it does exactly what it says on the tin. This name comes from electronics rather than functional programming or math though.
On Wed, Jul 3, 2019, 2:41 PM Alexey Nikitin <[email protected]> wrote: > The name may be not the best. It has mathematical roots. But everyone is > used to it. It's like "lambda" :) Who could ever imagine that the greek > letter is an anonymous function. > But as well as "identity" is the most understandable and familiar name for > fp-fans. People look for it by intuition > https://stackoverflow.com/questions/35616191/is-there-an-identity-function-in-elixir > > Thus I consider the "identity" name the best option > > вторник, 2 июля 2019 г., 21:40:45 UTC+3 пользователь José Valim написал: >> >> Thanks Chris, it is important that someone being counter arguments, even >> if they can be disproved. :) >> >> I definitely see how such a small function can be useful but, at the same >> time, I am not convinced about the name "identity". >> >> I found it curious that Clojure actually have an identity function >> because the definition of Identity they use when talking about values and >> change is a more complex one (and one that really stuck with me): >> >> *> By identity I mean a stable logical entity associated with a series of >> different values over time* >> >> https://clojure.org/about/state#_working_models_and_identity >> >> Of course, my interpretation above is likely uncommon and there are other >> interpretations of identity that would fit nicely. >> >> Anyway, to move the discussion forward, can someone do a more complete >> survey on what this function are called in many of the other languages? I >> just want to make sure we do our due diligence before adding it to the >> language. >> >> Thank you, >> >> *José Valim* >> www.plataformatec.com.br >> Skype: jv.ptec >> Founder and Director of R&D >> >> >> On Tue, Jul 2, 2019 at 8:25 PM Christopher Keele <[email protected]> >> wrote: >> >>> Derp, I knew that. Good point. >>> >>> On Tue, Jul 2, 2019 at 9:55 AM Michał Muskała <[email protected]> wrote: >>> >>>> Because Elixir is a lisp-2 language, variables and functions are in >>>> different "namespaces". This means you can have local variables with names >>>> of local functions without any issues, but it also means you need different >>>> syntax when you want to call a function contained in a variable. Or >>>> formulated differently - variables can't shadow functions. For example, >>>> consider: >>>> >>>> bar = &foo/0 >>>> bar.() #=> 1 >>>> bar() #=> 2 >>>> def foo(), do: 1def bar(), do: 2 >>>> >>>> Having a Kernel.id/1 function would not preclude you from using variables >>>> called id. >>>> >>>> >>>> Michał. >>>> On 2 Jul 2019, 18:41 +0200, Christopher Keele <[email protected]>, >>>> wrote: >>>> >>>> I'd cast my vote against this. The proposal seems to be: >>>> >>>> 1. Create a function named 'id' or some such >>>> 2. Put it in the Kernel namespace (so it need not be prefixed) >>>> >>>> I've been doing a lot of python lately and they have a lot of things >>>> like this, including the same 'filter' global function mentioned in this >>>> thread. >>>> >>>> Points against: >>>> >>>> 1. It'd suck to not be able to use 'id' as a variable name, and would >>>> conflict with a lot of existing code. >>>> 2. Alternative names to 'id' or namespacing it are not shorter than >>>> '&(&1)' >>>> 3. '&(&1)' is more open to change with requirements >>>> 4. Adopting 'id' within Kernel would encourage adding more utility >>>> functions to it, exacerbating 1, like the proposed 'filter' function >>>> 5. Not adopting it within the Kernel would be hard, as there's no real >>>> appropriate place for it elsewhere in standard lib, unlike Enum's 'filter' >>>> >>>> Generally it's a nice idea, but I can't think of a great way to make it >>>> work, and it'd open the floodgates to more utility functions that I've come >>>> to find grating in day-to-day python development. >>>> >>>> Just my two cents, >>>> Chris K >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "elixir-lang-core" group. >>>> To unsubscribe from this group and stop receiving emails from it, send >>>> an email to [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elixir-lang-core/fffd5b76-4385-40de-93bd-148f1b94bb27%40googlegroups.com >>>> <https://groups.google.com/d/msgid/elixir-lang-core/fffd5b76-4385-40de-93bd-148f1b94bb27%40googlegroups.com?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>>> -- >>>> You received this message because you are subscribed to a topic in the >>>> Google Groups "elixir-lang-core" group. >>>> To unsubscribe from this topic, visit >>>> https://groups.google.com/d/topic/elixir-lang-core/tB61BHYIH1s/unsubscribe >>>> . >>>> To unsubscribe from this group and all its topics, send an email to >>>> [email protected]. >>>> To view this discussion on the web visit >>>> https://groups.google.com/d/msgid/elixir-lang-core/b2149582-b8ba-4759-99ac-a634f73f3243%40Spark >>>> <https://groups.google.com/d/msgid/elixir-lang-core/b2149582-b8ba-4759-99ac-a634f73f3243%40Spark?utm_medium=email&utm_source=footer> >>>> . >>>> For more options, visit https://groups.google.com/d/optout. >>>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "elixir-lang-core" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to [email protected]. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/elixir-lang-core/CAD9kT2R41gmZXU9_YAqAdyJQDP-M37j-mgUet-okoeBzF%3DdMDA%40mail.gmail.com >>> <https://groups.google.com/d/msgid/elixir-lang-core/CAD9kT2R41gmZXU9_YAqAdyJQDP-M37j-mgUet-okoeBzF%3DdMDA%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> For more options, visit https://groups.google.com/d/optout. >>> >> -- > You received this message because you are subscribed to the Google Groups > "elixir-lang-core" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/elixir-lang-core/c42c687b-681f-4863-9628-6819affd8738%40googlegroups.com > <https://groups.google.com/d/msgid/elixir-lang-core/c42c687b-681f-4863-9628-6819affd8738%40googlegroups.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "elixir-lang-core" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/elixir-lang-core/CABT%3DeKKvT7hqSEukNt1Y-dpBnfcx8fFsXMqM_VW7WDrdW2%2BhSw%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
