Hacker News new | ask | show | jobs
by epage 2691 days ago
Since using Rust, I've longed for this in Python but

- imo it effectively requires using type checking (mypy)

- Too out of place with the rest of the python ecosystem (even if I like something, I'd rather not force non-standard practices on others dealing with my code)

1 comments

I don't know, for things where you can get team buy-in, this looks like a great way to have more solid contracts. I've always disliked how you can specify accept/return types in Python but then there's this whole side-channel of exceptions that you can't check or document well.
How familiar are you with Java?
I was about to post something similar to this.

In java you need to specify what your function can throw and if it tries to throw something that it has not specified as being able to throw, then your program won't compile.

Agreed, checked exceptions solve the same problem, but having separate control flow mechanism for certain kinds of data still seems subpar. Return values can solve the same problems and are more general.
Not if you cannot enforce them to be checked.
That's an acceptable solution as well.
Not enough to have PTSD from it, why?
Maybe you should be familiar with it.
Cool, I'll file it under "to maybe be familiar with, things", thanks.
Or mention "PTSD" when somebody brings up Java to signal that you're above such foolishness, and rely on nobody seeking an explanation for your aversion.