It looks like this was already discussed here: https://github.com/elixir-lang/elixir/issues/3268 https://github.com/elixir-lang/elixir/pull/3517
I prefer bare words for the same reason as Amos. It facilitates refactoring between methods and variables. If this stays, is it expected to be a compiler error in Elixir 2.0? If so, does that mean that we would be able to call anonymous functions without the dot? x = fn y -> y + 1 end x(1) # vs x.(1) Allen Madsen http://www.allenmadsen.com On Sat, Dec 3, 2016 at 9:07 AM, Amos King <[email protected]> wrote: > In my experience the minimize scope of data binding keeps it pretty > straightforward. > > Amos King > Binary Noggin > >> On Dec 3, 2016, at 07:50, Michał Muskała <[email protected]> wrote: >> >> The ambiguity, that bit me already several times is in the code that looks >> like this: >> >> self = self() >> do_something(self) >> >> Now the self in the second line can be both - calling the function and >> accessing variable. Of course it's not confusing in this example because of >> it's brevity, but in general it can lead to issues that are very hard to >> debug. >> >> Michał. >> >>> On 3 Dec 2016, at 14:10, Amos King <[email protected]> wrote: >>> >>> I prefer being able to use the bare words. It makes refactoring simpler to >>> move between a variable and a method which I do regularly. The warning >>> seems strange since there isn't an ambiguity that is being decided. I'm on >>> board with Dave here. >>> >>> Amos King >>> Binary Noggin >>> >>>> On Dec 3, 2016, at 00:45, Louis Pilfold <[email protected]> wrote: >>>> >>>> I personally think this is clearer, and I don't feel this is clearer. With >>>> this I think it is easier to tell when computation is happening- >>>> previously it could be hidden behind what looks like variables. >>>> Cheers, >>>> Louis >>>> >>>> On Sat, 3 Dec 2016, 04:42 Dave Thomas, <[email protected]> wrote: >>>> I’ve been loving 1.4 for a few weeks now, but I am bugged by the new >>>> warning: >>>> >>>> warning: variable "int" does not exist and is being expanded to "int()", >>>> please use parentheses to >>>> remove the ambiguity or change the variable name >>>> >>>> Partly it is because it makes my code a lot uglier. For example, in >>>> quixir, instead of >>>> >>>> test "two plain types" do >>>> ptest a: int, b: list do >>>> assert is_integer(a) >>>> assert is_list(b) >>>> end >>>> end >>>> >>>> I now have to write: >>>> >>>> test "two plain types" do >>>> >>>> ptest >>>> a: int(), b: list() do >>>> >>>> . . . >>>> >>>> Ugh. Even worse, the premise of the warning seems wrong. It assumes int is >>>> a variable, which doesn’t exist. But it does know that int is a function, >>>> because if I misspell it and put ()s on, I get a compilation error. So why >>>> can’t it just do that: is a bare name is encountered that isn’t a >>>> variable, just internally tack on the ()s are see what happens. Which I >>>> think is the old way. >>>> >>>> Basically, what compelling problem drove this change? It isn’t an issue I >>>> ever had before, and the change seems to make my code worse. >>>> >>>> Dave >>>> >>>> >>>> -- >>>> 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/22ad983c-0917-4425-abbe-a6e954ae3b61%40googlegroups.com. >>>> 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/CAM-pwt7JgYzWnC6y1-ELHj%2BOeaJDuDCamAxJmktdeYRdLaYFEA%40mail.gmail.com. >>>> 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/1865E0E4-7879-4307-900B-99CEF366091D%40binarynoggin.com. >>> 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/1D0E5277-451A-4955-A3FC-D06F05E107E4%40muskala.eu. >> 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/15857D16-3830-4916-B233-2CD929719BDF%40binarynoggin.com. > 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/CAK-y3Csyb3ox0pGKCBuTEzK67%2BTcZGwJzx5VphWr9_4pNhwi8g%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
