▲ | ackfoobar 4 days ago | |||||||||||||||||||||||||
You wrote a lot of words to say very little. Anyway, to translate your example:
A `Rectangle` is both a `Bound` (weird name choice but whatever), and a `Shape`. Thanks to subtyping, no contortion needed. No need to use 7 more lines to create a separate, unrelated type.> the Japanese word for "name" sounds like the English word, despite not being a loan word. Great analogy, except for the fact that someone from the Java team explicitly said they're drawing inspirations from ML. | ||||||||||||||||||||||||||
▲ | sunnydiskincali 4 days ago | parent [-] | |||||||||||||||||||||||||
> You wrote a lot of words to say very little. Substantiate this. > weird name choice but whatever I don't think this kind of snarky potshot is in line with the commentary guidelines. Perhaps you could benefit from a refresher? https://news.ycombinator.com/newsguidelines.html#comments > Thanks to subtyping, no contortion needed I see the same degree of contortion, actually. Far more noisy, at that. > No need to use 7 more lines to create a separate, unrelated type. You're still creating a type, because you understand that a sum-type with a different set of cases is fundamentally a different type. Just like a class with a different set of inheritance is a different type. And while it's very cute to compress it all into a single line, it's really not compelling in the context of readability and "write once, use many". Which is the point you were making, although it was on an entirely different part of the grammar. > Great analogy, except for the fact that someone from the Java team explicitly said they're drawing inspirations from ML. ML didn't invent ADTs, and I think you know it's more than disingenuous to imply the quotation means that the type-system in Java which hasn't undergone any fundamental changes in the history of the language (nor could it without drastically changing the grammar of the language and breaking the close relationship to the JVM) was lifted from ML. | ||||||||||||||||||||||||||
|