If the goal is teaching, then I think "fn x -> x end" beats both
"&identify/1" and "& &1" in terms of clarity, as identity itself is still a
concept that needs to be explained.


*José Valim*
www.plataformatec.com.br
Skype: jv.ptec
Founder and Director of R&D


On Fri, Jul 12, 2019 at 7:18 PM Bruce Tate <[email protected]> wrote:

> > Why should we add this to Elixir core, instead of "extending" with
> module?
>
> I have been a big proponent of this for a long time because just about
> every code base uses the identity function and it's a barrier to those who
> would learn Elixir.
>
> Rather than import or call &FP.identity/1, most would just continue to use
> something like & &1, and that's generally tough on beginners.
>
> -bt
>
> On Fri, Jul 12, 2019 at 12:59 PM Chulki Lee <[email protected]> wrote:
>
>> I'm happy to see Elixir adopting FP concept here ([identity function](
>> https://en.wikipedia.org/wiki/Identity_function)), but I'm not sure it's
>> good to add it to `Kernel` (as it's imported by default!) - or even in
>> Elixir core.
>>
>> Why should we add this to Elixir core, instead of "extending" with module?
>>
>> ```elixir
>> defmodule FP do
>>   def identity(a), do: a
>> end
>>
>> def module YourApp do
>>   import FP
>>
>>   def hello do
>>     'abcdaabccc' |> Enum.sort |> Enum.chunk_by(&identity/1)
>>   end
>> end
>> ```
>>
>> For example, that library can be de-facto helper for such FP utility
>> functions.
>>
>> --
>> 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/2e98526b-e83c-4b92-8035-26bce95da822%40googlegroups.com
>> <https://groups.google.com/d/msgid/elixir-lang-core/2e98526b-e83c-4b92-8035-26bce95da822%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
>
>
> --
>
> Regards,
> Bruce Tate
> CEO
>
>
> <https://bowtie.mailbutler.io/tracking/hit/f8218219-d2a8-4de4-9fef-1cdde6e723f6/c7c97460-016e-45fb-a4ab-0a70318c7b97>
>
> Groxio, LLC.
> 512.799.9366
> [email protected]
> grox.io
>
> --
> 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/CAFXvW-5vOv15iAWWH6qvbyUPf7KrY2Smw0oBKdf56%3DLPiH9BNA%40mail.gmail.com
> <https://groups.google.com/d/msgid/elixir-lang-core/CAFXvW-5vOv15iAWWH6qvbyUPf7KrY2Smw0oBKdf56%3DLPiH9BNA%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/CAGnRm4LX2L155aA6koxFGFmKdBoNoaRYmX83BQMFBnQRw-fLhA%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.

Reply via email to