<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">On Wed, Oct 24, 2018 at 12:57 AM, Chris Angelico <span dir="ltr"><<a href="mailto:rosuav@gmail.com" target="_blank">rosuav@gmail.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">For the sake of those of us who REALLY don't feel like diving back<br>
into the extensive threads on this subject, can you please summarize<br>
the benefits of having this in the stdlib rather than as a third-party<br>
library?<br></blockquote><div><br></div><div>I'm not (currently) a fan of design by contract, and don't expect I'll end up using it, whether or not we get a nifty standard library for it....</div><div><br></div><div>That being said -- this is analogous to why PEP 484 -- Type Hints was adopted, even though the syntax changes in Python had long been adopted to enable it.</div><div>That is: the IF folks are going to use DbC in Python, the community is MUCH better off if everyone does it in the same way. And the way to make that happen is to put it in the stdlib.</div><div><br></div><div>However, I'm not sure it's anywhere near time to actually do that -- before we get there, there needs to be a pretty good community of folks using icontract (or maybe something else?) and ideally some interest from a core developer or two.</div><div> </div><div>After all, PEP 484 didn't get rollling until Guido got interested in MyPy.</div><div><br></div><div>But by all means -- start building that community -- maybe some of us skeptics will be drawn in ....</div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Also - have you benchmarked the performance cost of adding contracts?<br>
Particularly: if you're planning to contractify the stdlib, what is<br>
the impact on startup performance?<br></blockquote><div><br></div><div>Contractifying the stdlib is an entirely independent  question -- yes, if we wanted to add contract to the stdlib, we'd need a contract library in the stdlib, but there's no need for the other way around to be true.</div><div><br></div><div>Is the stdlib being fully typhinted since PEP 484 was added? a quick scan of the PEP didn't seem to mention it at all.</div><div><br></div><div>Performance (particularly start up time) would absolutely be a consideration if and when we get there, but I don't know that it has any impact to anything anyone might do now.</div><div><br></div><div>-CHB</div><div><br></div></div><div><br></div>-- <br><div class="gmail_signature" data-smartmail="gmail_signature"><br>Christopher Barker, Ph.D.<br>Oceanographer<br><br>Emergency Response Division<br>NOAA/NOS/OR&R            (206) 526-6959   voice<br>7600 Sand Point Way NE   (206) 526-6329   fax<br>Seattle, WA  98115       (206) 526-6317   main reception<br><br><a href="mailto:Chris.Barker@noaa.gov" target="_blank">Chris.Barker@noaa.gov</a></div>
</div></div>