3 ms·
OK then, what is the opposite of this, the adhoc union?
by pjc50 7mo ago
OK then, what is the opposite of this, the adhoc union?
- SideburnsOfDoom 7mo agoI don't follow the question. Maybe define the term that you are using?
- pjc50 7mo agoTop comment mentioned the term without defining it, confusing me and seemingly most of the thread: https://news.ycombinator.com/item?id=47649817 https://news.ycombinator.com/item?id=47649817
- SideburnsOfDoom 7mo agoWe seem to have yet another potential meaning here : https://news.ycombinator.com/item?id=47692261 https://news.ycombinator.com/item?id=47692261 > Cat, Dog and Bird don't have to inherit from the union, you can declare a union of completely random types, as opposed to saying "Animal has three subtypes, no more, no less" "Animal has three subtypes" is more like the c# "sealed" modifier on a class, meaning that subtyping is not allowed. Except in this case I guess for three existing subtypes.
- Semaphor 7mo agoI don’t know for sure, but I’m guessing something like (Dog, Cat) pet = new Cat(); So without defining the union with an explicit name beforehand.
- SideburnsOfDoom 7mo agoWell, you can do this in c#: var someUser = new { Name = "SideburnsOfDoom", CommentValue = 3 }; What type is `someUser` ? Not one that you can reference by name in code, it is "anonymous" in that regard. But the compiler knows the type. A type can be given at compile-time in a declaration, or generated at compile-time by the compiler like this. But it is still "Compiler-verified" and not ad-hoc or at runtime. the type (Dog, Cat) pet seems similar, it's known at compile-time and won't change. A type without a usable name is still a type. Is this "ad-hoc"? It depends entirely on what you mean by that.