Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #85563

Re: Alternative to multi-line lambdas: Assign-anywhere def statements

References (1 earlier) <54C3EAD1.2010501@stoneleaf.us> <CAPTjJmohdQbK9_ikh8heaMRbpJ270UW6C1AE2oNVgV_4AoYfQg@mail.gmail.com> <mailman.18121.1422151185.18130.python-list@python.org> <54db5356$0$3915$e4fe514c@dreader34.news.xs4all.nl> <mbh1r8$3eb$1@ger.gmane.org>
From Ian Kelly <ian.g.kelly@gmail.com>
Date 2015-02-11 19:57 -0700
Subject Re: Alternative to multi-line lambdas: Assign-anywhere def statements
Newsgroups comp.lang.python
Message-ID <mailman.18677.1423709889.18130.python-list@python.org> (permalink)

Show all headers | View raw


On Wed, Feb 11, 2015 at 7:06 PM, Terry Reedy <tjreedy@udel.edu> wrote:
>> I can't see why the parser would understand more easily
>>
>> def f(x):
>>      return x**2
>> than
>>
>> f = x->
>>      return x**2
>
>
> The parser parses both equally well.  That is not the issue.

The compiler could at some point recognize that the function is being
assigned to a simple name and transform the assignment into a def for
purposes of byte code generation. It could also do the same with
lambda, although it currently doesn't.

The reason I don't like this replacing def isn't because the name is
necessarily lost. It's because the lack of the well-defined def
statement encourages more complex usages like

    functions['f'] = x -> x**2

where such implicit transformations won't work.

Back to comp.lang.python | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

Re: Alternative to multi-line lambdas: Assign-anywhere def statements Ethan Furman <ethan@stoneleaf.us> - 2015-01-24 17:58 -0800
  Re: Alternative to multi-line lambdas: Assign-anywhere def statements Yawar Amin <yawar.amin@gmail.com> - 2015-01-24 18:30 -0800
    Re: Alternative to multi-line lambdas: Assign-anywhere def statements Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-25 15:27 +1100
      Re: Alternative to multi-line lambdas: Assign-anywhere def statements Yawar Amin <yawar.amin@gmail.com> - 2015-01-25 17:26 -0800
        Re: Alternative to multi-line lambdas: Assign-anywhere def statements Steven D'Aprano <steve+comp.lang.python@pearwood.info> - 2015-01-26 13:46 +1100
  Re: Alternative to multi-line lambdas: Assign-anywhere def statements albert@spenarnc.xs4all.nl (Albert van der Horst) - 2015-02-11 13:04 +0000
    Re: Alternative to multi-line lambdas: Assign-anywhere def statements Clarence <clarence1126@gmail.com> - 2015-02-11 06:28 -0800
    Re: Alternative to multi-line lambdas: Assign-anywhere def statements Ethan Furman <ethan@stoneleaf.us> - 2015-02-11 08:52 -0800
    Re: Alternative to multi-line lambdas: Assign-anywhere def statements Terry Reedy <tjreedy@udel.edu> - 2015-02-11 21:06 -0500
    Re: Alternative to multi-line lambdas: Assign-anywhere def statements Ian Kelly <ian.g.kelly@gmail.com> - 2015-02-11 19:57 -0700
    Re: Alternative to multi-line lambdas: Assign-anywhere def statements Chris Angelico <rosuav@gmail.com> - 2015-02-12 14:56 +1100
    Re: Alternative to multi-line lambdas: Assign-anywhere def statements Ian Kelly <ian.g.kelly@gmail.com> - 2015-02-12 09:17 -0700

csiph-web