On 07/12/2021 18:22, Stephen J.
Turnbull wrote:
Rob Cliffe via Python-ideas writes:
> I think you're making my point.
*shrug* You wrote "object", I took you at your word.
> You're saying that the object part isn't that hard, but other parts of
> it are.
For values of "hard" == "non-trivial but mostly bikeshedding". I
don't think it will be that much harder to get through than Chris's.
And in theory it could be easier: it could be implemented with a new
builtin such as "quote_expression" that takes a string, and thus
needing no new syntax. I actually don't think that will pass, too
clumsy to be of practical use. Although it might fly on the same
logic as function annotations did: we add the instance flag that says
that "this object is a thunk to be evaluated in the current context"
and the code in the interpreter that's needed to use it, and postpone
syntax until somebody comes up with a really good proposal.
In fact, we could combine this strategy with Steven d'Aprano's
proposal for a thunk object, in which case Chris doesn't need syntax
himself. I'm sure he won't like that, but it's an idea.
All this seems like a matter of opinion, on which we shall have to
disagree. But ...
> And there seems to be no likelihood of anyone tackling it soon.
There's no way to judge that. David Mertz might post a PEP tomorrow
for all you know.
Surely you're pulling my leg. If he had something in the pipeline
that would greatly strengthen his argument, we would have heard
about it by now.
> I can't see the point of rejecting something that provides a
> tangible benefit, now, because some fictitious vapourware *might*,
> one day, provide another way of doing it.
That's a strawman. The argument is not "Your proposal is good, but
not perfect, so we reject it."
That IMO is exactly the argument. It's like saying "I won't buy a
car today because in 10/20/50 years time I can probably buy a
driverless one".
The basic argument is "Your proposal
isn't good enough to deserve syntax for reasons given elsewhere,
Er, what reasons?
but
if you do this other stuff we would likely support it." [My emphasis - RC.]
You want *Chris* to implement deferred-evaluation objects? Hasn't
he done enough? You want him to produce a second PEP and a second
reference implementation in competition with his first one? (He has
on several occasions mentioned problems that he sees with the
idea.) Surely if other people think it's a good idea, it's up to
*them* to prove it. If an architect comes up with a plan to
redesign a city centre, would you say to him "Now produce a
completely different plan, just to show that your first one wasn't
great"?
Best wishes
Rob Cliffe
Sure, there's
some component of "it might interfere with the general facility, or be
a small cognitive burden, a warty technical debt, if the general
facility is implemented", but that's only a tiny part of why people
opposing the proposal oppose it.