4 ms·
> Rust enums are sum types, I wouldn't mind so much if they just called them "sum types" or "tagged unions", or even some other new name. Reusing the existing
by Karellen 3y ago
> Rust enums are sum types,
I wouldn't mind so much if they just called them "sum types" or "tagged unions", or even some other new name. Reusing the existing name "enum" from other languages, but differently from the way all those other languages have used it for 45 gorram years, is freaking maddening.
- n_plus_1_acc 3y agoThat's inherited from OCaml I think. https://www.ocamlwiki.com/wiki/Enum https://www.ocamlwiki.com/wiki/Enum
- ode 3y agoNobody in the OCaml community commonly refers to them as Enum's today or any time recently (maybe they were at the time Rust was created though? IDK). They're usually called 'variants'.
- debugnik 3y agoI don't think so, OCaml consistently calls them "variant types". I don't know who wrote that page, but that wiki didn't even exist before September and it isn't endorsed by ocaml.org, so I suggest you don't consider it authoritative.
- cyber_kinetist 3y agoSwift and Scala also uses the enum keyword to define sum types, and their history goes earlier than Rust, so now you have multiple languages to yell at!
- Karellen 3y agoAre you sure about Scala? I'm not familiar with it, but looking at the documentation it seems that an enum is a set of values, not a set of types? https://docs.scala-lang.org/scala3/reference/enums/enums.html https://docs.scala-lang.org/scala3/reference/enums/enums.htm...