I want to speak to the beginners argument.  I am not guessing. I spend 6-8
hours teaching and mentoring every week, and it's more when school is in.
Concepts are easier to teach when those concepts have names and big
concepts can be broken down into smaller ones. The students I teach are
about 80% new to FP and about 40% new to programming in general.

I will take the advice of mixing in FP.identity if it cuts against the
grain of what Elixir is about.

Thanks to all for making Elixir the best it can be... let's keep it civil.
I think it makes a lot of sense to take José's suggestion and collect some
of these concepts into a library and prove their worth there, to language
learners and otherwise.

-bt

On Mon, Jul 15, 2019 at 5:12 AM Andrea Leopardi <an.leopa...@gmail.com>
wrote:

> My 2 cents. To me a strong argument against this is that &identity/1 still
> looks confusing to newcomers with the capture syntax (how many "why can't I
> just write identity like in Js questions do we get after all), so summed
> with the other arguments against it makes me not want to add this to the
> language personally.
>
> On Mon, 15 Jul 2019 at 09:30, Masoud Ghorbani <msud.ghorb...@gmail.com>
> wrote:
>
>> Isn't possible to have something like JavaScript arguments which
>> correspond with a list of parameters passed to function?
>> its more handy to lookup a parameter in a list or map until working with
>> a function to get a given parameter.
>>
>> On Tuesday, July 2, 2019 at 11:10:45 PM UTC+4:30, José Valim wrote:
>>>
>>> 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 <christ...@gmail.com>
>>> wrote:
>>>
>>>> Derp, I knew that. Good point.
>>>>
>>>> On Tue, Jul 2, 2019 at 9:55 AM Michał Muskała <mic...@muskala.eu>
>>>> 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 <christ...@gmail.com>,
>>>>> 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 elixir-l...@googlegroups.com.
>>>>> 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
>>>>> elixir-l...@googlegroups.com.
>>>>> 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 elixir-l...@googlegroups.com.
>>>> 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 elixir-lang-core+unsubscr...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/elixir-lang-core/2bb429a8-e583-48c1-a335-8660c115b24f%40googlegroups.com
>> <https://groups.google.com/d/msgid/elixir-lang-core/2bb429a8-e583-48c1-a335-8660c115b24f%40googlegroups.com?utm_medium=email&utm_source=footer>
>> .
>> For more options, visit https://groups.google.com/d/optout.
>>
> --
>
> Andrea Leopardi
> an.leopa...@gmail.com
>
> --
> 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 elixir-lang-core+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/elixir-lang-core/CAM9Rf%2BJEN7vuwxxZFkrB8NytCCaSPAKtroMeA1sqe91n5SoFXg%40mail.gmail.com
> <https://groups.google.com/d/msgid/elixir-lang-core/CAM9Rf%2BJEN7vuwxxZFkrB8NytCCaSPAKtroMeA1sqe91n5SoFXg%40mail.gmail.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
br...@grox.io
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 elixir-lang-core+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/elixir-lang-core/CAFXvW-65ztTOMoVhZ407PghmYA0OBcuVhDatcjYx6Xw7f52pMQ%40mail.gmail.com.

Reply via email to