Expression tuples

Jonathan M Davis jmdavisProg at gmx.com
Wed Mar 16 14:55:07 PDT 2011


On Wednesday, March 16, 2011 14:43:20 Steven Schveighoffer wrote:
> On Wed, 16 Mar 2011 17:31:06 -0400, Simen kjaeraas
> 
> <simen.kjaras at gmail.com> wrote:
> > On Wed, 16 Mar 2011 21:51:37 +0100, Steven Schveighoffer
> > 
> > <schveiguy at yahoo.com> wrote:
> >> On Wed, 16 Mar 2011 16:28:48 -0400, Simen kjaeraas
> >> 
> >> <simen.kjaras at gmail.com> wrote:
> >>> On Wed, 16 Mar 2011 21:07:08 +0100, simendsjo
> >>> 
> >>> <simen.endsjo at pandavre.com> wrote:
> >>>> http://www.digitalmars.com/d/2.0/tuple.html
> >> 
> >> If you read that page he is referring to, it seems like you should be
> >> able to create an expression tuple.
> >> 
> >> I don't know if that works with std.typecons.tuple.
> >> 
> >> In fact, I don't think I've ever seen some of the stuff that's in that
> >> page, especially the mixed type+expression tuple.  Is it valid?
> > 
> > Oh, absolutely. Given that you use the Tuple template declared at the top
> > of the page. However, I would recommend the page be rewritten so as not
> > to cause confusion between that and std.typecons.Tuple.
> 
> As I was confused there and thought we were talking about
> std.typecons.Tuple, I wholeheartedly agree :)
> 
> Now I am concerned, this looks like an oxymoron:
> 
> TypeTuple!(1, 2, 3)
> 
> Should we think about changing the name of std.typetuple.TypeTuple since
> it can clearly contain expressions as well as types?  I would actually
> argue that TypeTuple should be called Tuple, and Tuple be called
> ValueTuple or something, but I understand we probably cannot do that at
> this point...

Regardless of whether TypeTuple can hold values or not, it really doesn't make 
sense to call it a tuple in the general sense, since it's always flat and cannot 
hold other tuples. IIRC, Andrei had a good suggestion for what to rename 
TypeTuple to, but unfortunately, I don't recall what it was at the moment. 
Regardless, I think that TypeTuple _should_ be renamed. It's far too easy to 
confuse it with Tuple. However, Tuple is definitely more of a tuple than 
TypeTuple is.

- Jonathan M Davis


More information about the Digitalmars-d-learn mailing list