On Thu, Oct 4, 2018 at 4:12 AM Jonathan Fine <jfine2...@gmail.com> wrote:
>
> Anders Hovmöller suggested
> > Short form of keyword arguments where
> > foo(=a, =1+bar)
> > Is expanded at compile time to
> > foo(**{'a': a, '1+bar': 1+bar})
>
> Chris Angelico wrote:
> > That is not guaranteed to work. In another thread it was pointed out
> > that this is merely a CPython implementation detail, NOT a language
> > feature.
>
> Here's a variant of Anders' suggestion.  First, here's a dict literal
>     {'a':1, 'b': 2, 'c':3}
> and here's another way to write an equivalent dict
>     dict(a=1, b=2, c=3)
>
> So how about extending Python so that, for example,
>     {=(1 + bar), }
> is equivalent to
>     {'1 + bar': 1 + bar, }
>
> The basic idea is Anders's, recast to avoid Chris's problem.
>
> Anders: Are you willing to accept this change, if need be?
> Chris: Please speak up, if you think this may depend on CPython.

And then you just pass the dictionary as-is? That would be plausible,
but I'm not a big fan of the syntax. Feels very clunky and forced.

Spun off as a new thread because this isn't really specific to debugging.

ChrisA
_______________________________________________
Python-ideas mailing list
Python-ideas@python.org
https://mail.python.org/mailman/listinfo/python-ideas
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to