How does that overlook the farmers? They're alluded to right there in the prior sentence. I don't get this.
110 karma · joined April 23, 2023
How does that overlook the farmers? They're alluded to right there in the prior sentence. I don't get this.
It seems like you think that pointing out that I'm sharing my attitude is some sort of gotcha, but I'm confused. Sharing one's attitude is the whole point of posting an internet comment, isn't it?
Along similar lines, I also don't know what we're calling tools like T3 or Superset. They're basically harnesses for harnesses.
So you're saying it goes up to 11x?
I mean, this article doesn't mention 1984 at all.
[0] https://press.princeton.edu/books/hardcover/9780691217529/wh...
What makes you think that? A huge part of After Virtue (basically the whole part, after the initial diagnosis of where we are now and how we got here) is about how to construct and understand communities that might provide a shared idea of human good without simply going back to an Athenian idea of what that looks like. In fact if I were to summarize the book in a nutshell I would argue its an attempt to rehabilitate Aristotelian ethics without simply accepting Aristotle's own moral percepts.
> Without complex input spaces, there's no explosion of edge cases, which minimizes the actual benefit of PBT. The real benefits come when you have complex input spaces. Unfortunately, you need to be good at PBT to write complex input strategies. I wrote a bit about it here...
Here's the link: https://www.hillelwayne.com/post/property-testing-complex-in...
I'm satisfied with Mypy but curious to someday try other type checkers. Pyright is on the list.
The implication of what you're saying seems to be that if you're concerned about some kind of correctness you should be writing unit tests anyway and not being so fussed about type checking in a language like Python. I suppose if you are strictly following TDD that might work, but in all other cases type checks give you feedback much more quickly than unit tests ever can. I guess I don't understand.
I can see how it appeared that I was using the phrase in the incorrect way! That usage bothers me too, and I am attentive to it.
If you declare a function parameter as `foo: int = None`... that is just an incorrect declaration. Of course a variable annotated as `int` can take a `None` value, but that is because any variable can take any type in Python. Within the Python type (annotation) system it is simply the case that an `int` and an `int | None` are two different things, as they are in other languages (eg Rust's `T` vs `Option<T>` types).
Mypy used to support the "implicit optional" feature you describe but now you must make nullable arguments explicitly optional. This is in line with Python's "explicit is better than implicit" design philosophy. In any case, how long does it take you to just type `foo: int | None = None`? Or you could re-enable the old behavior to allow implicit optionals with `--implicit-optional` or the corresponding config file option. It seems like you just need to configure mypy to match your preferences rather than fighting with its defaults.
To return to the broader point, I'm unsure what an "irrelevant type warning" is, but I suspect that has something to do with my lack of appreciation for dynamic typing. Can you give an example that isn't just a complaint about typing an extra 6 characters or about mypy being misconfigured for your preferences?
And with #2, you can get that with static typing too... Let's say a method accepts an instance of an object `Foobar`. I can change the definition of `Foobar` ("change what shape [my] data is") without having to change type annotations everywhere.
I agree with you, I guess, that I find the steel man position unconvincing.
Just saying "dynamic typing is easier" doesn't do it for me without further qualification since that statement doesn't conform to my own experience.