On Tuesday, 29 November 2022 at 00:48:32 UTC, max haughton wrote:
>Built-in sumtypes will unify a lot of codebases if done right: Tuples and sumtypes are to writing beautiful programs what the container issues are to writing beautiful libraries IMO.
Unifying and yada yada are all very nice sounding words, but I'm afraid this is not very actionable.
Here is the deal. We can agree that this is useful. Great. Now step back and look at the larger picture.
The number of people who would use D if we changed nothing to the current thing but sum type is exactly 0. Maybe 1 if stars align properly.
In the same way traction control is a great feature to have on you car, but none of this matter when the passenger door cannot close. And the passenger door is not closing right now.
This forum is full of problem that actual people have trying to write actual D code. See https://forum.dlang.org/thread/nzlnwbcezwyopjfiasan@forum.dlang.org for instance from just today.
A grand total of none of these problems people are facing would be addressed by sum types. Not even one, kind of, if you are squinting hard enough while blind drunk.
In fact, this is especially funny because I have spent the last several day implementing what effectively amount to a sum type in D. While having a syntax to express sum type would have been nice, I don't doubt that, nothing on that front is a blocker. What's a blocker is that some of types packed in the sum are collection and I can't get them to behave right, because the way I need them to behave like builtin slice, but I cannot.
I'm literally building a sum type, and I'm telling, NO amount of integration of sum type into the language would change anything about the practical problem I'm facing working on this, it would just enable less boilerplate in part of the code that have no problems.
Certainly, less boilerplate is good, but I'm trying to get shit done. Boilerplate is workable. Broken type system is not.
You guys need an intervention. I'm serious.