<div dir="auto">Hi Jonathan and Paul,<div dir="auto">Thank you very much for your suggestions! I will try to contact the author of the PEP.</div><div dir="auto"><br></div><div dir="auto">Let me clarify a bit a potential misunderstanding. Please mind that contracts are not tied to individual variables, but to expressions. Think of it as defining a lambda which takes as input all the arguments of the function (and a result variable in case of post-conditions) which always needs to evaluate to True.</div><div dir="auto"><br></div><div dir="auto">Cheers,</div><div dir="auto">Marko</div></div><br><div class="gmail_quote"><div dir="ltr">Le jeu. 16 août 2018 à 12:24, Paul Moore <<a href="mailto:p.f.moore@gmail.com">p.f.moore@gmail.com</a>> a écrit :<br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">On Thu, 16 Aug 2018 at 10:41, Jonathan Fine <<a href="mailto:jfine2358@gmail.com" target="_blank" rel="noreferrer">jfine2358@gmail.com</a>> wrote:<br>
><br>
> Hi Marko<br>
><br>
> Thank you for introducing yourself, and clearly stating your question.<br>
> That helps us all. You asked:<br>
><br>
> > Could somebody update me on the state of the discussion on this matter?<br>
><br>
> I think bring the existing PEP up to date would be a good starting<br>
> point. Its content hasn't been changed since 2003 (except for PEP-wide<br>
> admin changes. (Recall that Python 3.0 was released in 2008.)<br>
><br>
> <a href="https://www.python.org/dev/peps/pep-0316/" rel="noreferrer noreferrer" target="_blank">https://www.python.org/dev/peps/pep-0316/</a><br>
> <a href="https://github.com/python/peps/commits/master/pep-0316.txt" rel="noreferrer noreferrer" target="_blank">https://github.com/python/peps/commits/master/pep-0316.txt</a><br>
><br>
> In fact, revising the PEP might be enough to answer your question.<br>
> What do you think, Marko?<br>
><br>
> Experts: is there a process for revising old PEPs, such as this one?<br>
> Or at least a precedent we could follow (or adapt)?<br>
<br>
I'm not aware of a formal process, but I'd have thought the following<br>
steps would be a reasonable approach:<br>
<br>
1. Review the PEP, and research the discussions that happened at the<br>
time, particularly of interest is why the PEP was deferred.<br>
2. Consider what (if anything) has changed since the original deferral<br>
(which could simply be "time has moved on, people's views may have<br>
changed" but ideally would include a bit more in the way of concrete<br>
motivation).<br>
3. Contact the original PEP author and ask if he is interested in<br>
reopening the discussion, collaborating on a revision, or handing the<br>
PEP over.<br>
4. Start up a discussion here, pointing out the original PEP and<br>
summarising the previous debate and why you want to restart the<br>
discussion. If you're hoping to change the details of the original<br>
PEP, summarise your changes and why you feel they are an improvement<br>
over the original.<br>
<br>
To answer the OP's question more directly:<br>
<br>
> Could somebody update me on the state of the discussion on this matter?<br>
<br>
As far as I am aware, there has been no discussion on this subject<br>
since the PEP 316 discussions which ended up in its deferral. Elazar<br>
mentioned PEP 563, and there *may* have been mention of design by<br>
contract uses in the discussions on that PEP, but you'd have to search<br>
the mailing list archives to confirm that one way or another.<br>
<br>
Hence the suggestions that if you want to restart discussion, reviving<br>
PEP 316 is likely the best approach.<br>
<br>
Paul<br>
_______________________________________________<br>
Python-ideas mailing list<br>
<a href="mailto:Python-ideas@python.org" target="_blank" rel="noreferrer">Python-ideas@python.org</a><br>
<a href="https://mail.python.org/mailman/listinfo/python-ideas" rel="noreferrer noreferrer" target="_blank">https://mail.python.org/mailman/listinfo/python-ideas</a><br>
Code of Conduct: <a href="http://python.org/psf/codeofconduct/" rel="noreferrer noreferrer" target="_blank">http://python.org/psf/codeofconduct/</a><br>
</blockquote></div>