Hi Paul,
Quite a few people replied on this thread and the previous one before the fork that dbc is either useless in Python or at best useful in avionics/niche applications.

I'm really only saying that contracts are a superior (complementary) tool to informal documentation, doctests, reading the implementation, reading the tests and trial-and-error.

For every library that have the contracts which can be written down formally in a pragmatic way, and when the users of the library are multiple -- then these libraries would benefit from dbc. 

That's all that I'm saying and it might have come over as arrogant due to limits of the medium. It was not my intention to sound so.

I'll have a look at pathlib then.


Le mer. 26 sept. 2018 à 15:15, Paul Moore <p.f.moore@gmail.com> a écrit :
On Wed, 26 Sep 2018 at 14:04, Marko Ristin-Kaufmann
<marko.ristin@gmail.com> wrote:
> @Chris Angelico  would annotating pathlib convince you that contracts are useful? Is it general enough to start with?

Whoa - be careful here. No-one is saying that "contracts aren't
useful" (at least not that I'd heard). We're saying that contracts
*aren't a solution for every library in existence* (which was
essentially your claim). Annotating pathlib can't convince anyone of
that claim. At best (and this is all that I'm imagining) it might give
some indication of why you have such an apparently-unreasonable level
of confidence in contracts.

I do not expect *ever* to believe you when you say that all projects
would benefit from contracts. What I might get from such an exercise
is a better understanding of what you're imagining when you talk about
a real project "using contracts". Best case scenario - I might be
persuaded to use them occasionally. Worst case scenario - I find them
distracting and unhelpful, and we agree to differ on their value.