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 <christheke...@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-lang-core+unsubscr...@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-lang-core+unsubscr...@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-lang-core+unsubscr...@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. For more options, visit https://groups.google.com/d/optout.