Okay, so consensus seems to be around "union type" which I think is quite nice! I'm not going to say final decision yet, but lets say this is the plan pending some unforeseen issue. It'll go final once the new type syntax gets released.
Community Standard? Yes!
In terms of context, this would be the standard term in Elm. When talking about something like Maybe or List on the list or in a blog post or anything that's addressed to "Elm users or future Elm users", we'd call them union types. If the target audience is /r/haskell specifically, then yeah, address that community specifically.
I was going to point out some Rust documentation that says "We use enums (also known as tagged unions or algebraic data types)" but it looks like they dropped that in favor of
just calling them enums. I think it's fine to point out the connections, but I'd like to have a standard term within the community. I think the ideal way may be to just say "union type" and hyperlink it to the revised version of
these docs which will point out the connections to ADTs and tagged unions in a tasteful way.
The point of using a new term is to make it easy to learn, so if we use a bunch of different terms within the community it undermines the primary goal.
Why respect the community standard?
Part of why I created Elm is so that I could reset the culture around ML-family languages, hopefully making something more welcoming to people who aren't in the club or didn't go to a particular university.
Part of reseting culture is how we talk about things, so I'd hope that people interested in Elm's success (or at least respectful of the community or the goal of making an ML-family language mainstream) would respect these choices and see how our experiments play out. If we don't like the results of an experiment, we can try something else! The type syntax was chosen with such an eventuality in mind. A lot of language decisions around types are made with this in mind.
I also think that breaking from tradition is not as big a deal as Haskell people like to think. F# does it quite a bit with quite good results within the .NET world. Furthermore, Elm is not for Haskell programmers, it is for programmers. I think about the fact that there are 9+ million professional Java developers and who knows how many millions of Python and JS developers. I think about the fact that there are tons of Clojure and Erlang people that have a super easy time switching to the mindset of Elm, but are skeptical of types because they "add complexity". I think about the fact that OCaml and Haskell are both 20 years old and still niche. I think about how many programmers who either don't want to learn Haskell or flat out have never even heard of it.
If Elm is going to be big, the bulk of our future users and community members will not have experience with any other ML-family language. For these future users, a lower barrier for them is a huge deal. Saving five minutes or an hour or a day is the difference between a new ML-family friend and an alienated user. To lower that barrier, we have Haskell people pay the minor fee of remembering that "union type = adt" which is 4 seconds for them that probably enhances their understanding anyway.
"What about all the Haskell and OCaml docs?" The number of people who learn Python by reading Ruby resources is not very big. I don't see why it will be different for us.
For arguments like "How will they read all the academic literature?" I think it's pretty straight forward. When people reach a level where they want to learn more, they learn that "union type = algebraic data type" and can read whatever they want. Super simple! If they never reach that point, they never have to pay that cost. This is like applying the concept of laziness to learning. Only pay for what you need right now. Furthermore, I think the number of people who reach the point of "I want to read academic literature on ADTs" is going to be super small.
I don't know if it was necessary to write this, but I feel compelled! I feel really passionately about taking accessibility seriously and I would be really sad to see us lose an opportunity to experiment and maybe find a better way! Community conflict or hijacking really is one of my biggest fears, so I think I respond with too many words when something hits on fears like that :)