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.

Reply via email to