Discussion of TypeTuple naming
Jonathan M Davis
jmdavisProg at gmx.com
Mon May 27 23:34:53 PDT 2013
On Tuesday, May 28, 2013 04:52:50 Diggory wrote:
> Are you really arguing that the existing system is easier to
> understand?
I'm arguing that the only problem in the current design is the name. TypeTuple
is a template for creating built-in tuples, and the built-in tuples deal with
both expressions and types, so that's what TypeTuple should do. The fact that
it's called TypeTuple is a problem, because it doesn't just deal with types,
and the fact that the documentation indicates that it just deals with types is
a problem, because it doesn't. But I don't think that there's any problem with
how the template itself works.
If I could go back, I'd rename TypeTuple to something like StaticTuple, or
ParamTuple, or ArgTuple, or ParamSeq, or ArgSeq, or some other name which made
more sense for what it does. But given that we can't go back in time, we have
to contend with the fact that both the module and template have the name
TypeTuple (albeit with different capitalization) and that changing them would
break a lot of code. And Walter in particular is very much against making
breaking changes which don't have a large ROI, and he and Andrei have made it
clear that they don't want to be changing symbol names in the library at this
point just because the names aren't as good as they should be. The ROI is too
small. So, at this point, the fact that a name is poor is generally _not_
enough to get it changed. TypeTuple is bad enough that they _might_ agree to
it, but I doubt it. So, given the current situation, we clearly need to
improve the documentation, but that's probably all that we can do.
Regardless, I have _zero_ problem with the design of TypeTuple, just the name.
- Jonathan M Davis
More information about the Digitalmars-d
mailing list