Re: EEP37: Funs with names

Anthony Ramine <[email protected]>
Newsgroups gmane.comp.lang.erlang.patches
Message-ID <[email protected]>
Done.

Please don’t ask me this again, the two bootstrap commits in the middle of the branch are a pain to rebase :p

Regards,

-- 
Anthony Ramine

Le 5 déc. 2013 à 12:16, Björn Gustavsson <[email protected]> a écrit :

> Could you rebase the branch on master?
> 
> 
> 
> On Sun, Dec 1, 2013 at 1:46 PM, Anthony Ramine <[email protected]> wrote:
> Amended with your fixup and some covering code for functions named with "_" in xref_SUITE.
> 
> Please refetch.
> 
> --
> Anthony Ramine
> 
> Le 28 nov. 2013 à 13:52, Anthony Ramine <[email protected]> a écrit :
> 
> > Hello Björn,
> >
> > Replied inline.
> >
> > --
> > Anthony Ramine
> >
> > Le 28 nov. 2013 à 13:44, Björn Gustavsson <[email protected]> a écrit :
> >
> >> On Wed, Nov 14, 2012 at 5:42 PM, Anthony Ramine <[email protected]> wrote:
> >> This patch implements EEP37: Funs with names
> >>
> >>
> >> It is now much closer to being graduated.
> >>
> >> I have added the branch to our daily builds for the master branch.
> >
> > Cool.
> >
> >> I would like a comment from Kostis about the Dialyzer changes.
> >
> > Me too, he suggested to me that it might break HiPE too but I couldn’t make HiPE crash.
> >
> >> What also remains is coverage in test suites. I have fixed a few,
> >> but xref_SUITE remains to be fixed (a named fun with the '_' name
> >> should be tested).
> >
> > Will do.
> >
> >> Here are my fixes for the test suites (also included as an attachment
> >> to make it easier to apply):
> >
> > Will apply.
> >
> >> diff --git a/lib/compiler/test/fun_SUITE.erl b/lib/compiler/test/fun_SUITE.erl
> >> index 0ff846e..e35692e 100644
> >> --- a/lib/compiler/test/fun_SUITE.erl
> >> +++ b/lib/compiler/test/fun_SUITE.erl
> >> @@ -197,10 +197,14 @@ external(Config) when is_list(Config) ->
> >> call_me(I) ->
> >>     {ok,I}.
> >>
> >> -id(I) ->
> >> -    I.
> >> -
> >> eep37(Config) when is_list(Config) ->
> >>     F = fun Fact(N) when N > 0 -> N * Fact(N - 1); Fact(0) -> 1 end,
> >> +    Add = fun _(N) -> N + 1 end,
> >> +    UnusedName = fun BlackAdder(N) -> N + 42 end,
> >>     720 = F(6),
> >> +    10 = Add(9),
> >> +    50 = UnusedName(8),
> >>     ok.
> >> +
> >> +id(I) ->
> >> +    I.
> >> diff --git a/lib/debugger/test/fun_SUITE.erl b/lib/debugger/test/fun_SUITE.erl
> >> index 569af6c..75e3b55 100644
> >> --- a/lib/debugger/test/fun_SUITE.erl
> >> +++ b/lib/debugger/test/fun_SUITE.erl
> >> @@ -288,10 +288,14 @@ external(Config) when is_list(Config) ->
> >> call_me(I) ->
> >>     {ok,I}.
> >>
> >> -id(I) ->
> >> -    I.
> >> -
> >> eep37(Config) when is_list(Config) ->
> >>     F = fun Fact(N) when N > 0 -> N * Fact(N - 1); Fact(0) -> 1 end,
> >> +    Add = fun _(N) -> N + 1 end,
> >> +    UnusedName = fun BlackAdder(N) -> N + 42 end,
> >>     720 = F(6),
> >> +    10 = Add(9),
> >> +    50 = UnusedName(8),
> >>     ok.
> >> +
> >> +id(I) ->
> >> +    I.
> >> diff --git a/lib/stdlib/test/erl_lint_SUITE.erl b/lib/stdlib/test/erl_lint_SUITE.erl
> >> index ea90793..ad51bfa 100644
> >> --- a/lib/stdlib/test/erl_lint_SUITE.erl
> >> +++ b/lib/stdlib/test/erl_lint_SUITE.erl
> >> @@ -644,7 +644,9 @@ unused_vars_warn_fun(Config) when is_list(Config) ->
> >>               u() ->
> >>                   fun U(U) -> foo end; % U shadowed. U unused.
> >>               u() ->
> >> -                  fun U(1) -> U; U(U) -> foo end. % U shadowed. U unused.
> >> +                  fun U(1) -> U; U(U) -> foo end; % U shadowed. U unused.
> >> +              u() ->
> >> +                  fun _(N) -> N + 1 end.  % Cover handling of '_' name.
> >>            ">>,
> >>            [warn_unused_vars],
> >>            {error,[{3,erl_lint,{unbound_var,'U'}}],
> >>
> >>
> >> id/1 is a common help function, so I want it to remain at the end
> >> of the file.
> >
> > Thanks for nitpicking even more than myself :p
> >
> >> /Bjorn
> 
> 
> 
> 
> -- 
> Björn Gustavsson, Erlang/OTP, Ericsson AB

_______________________________________________
erlang-patches mailing list
[email protected]
http://erlang.org/mailman/listinfo/erlang-patches
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.