Re: Where is 'tuple' in the language reference
On 2011-08-05 11:10, Jonathan M Davis wrote: On Friday 05 August 2011 08:55:32 Steve Teale wrote: I see the term used, but I can't find where it is defined. Probably nowhere. There are no built-in tuples in D. std.typecons.Tuple is probably what you're looking for. It's a struct which defines a tuple. There's also std.typetuple.TypeTuple which is a compile time construct useful in meta- programming. But there is no tuple built into D. There has been some discussion of improving the syntactic sugar with regards to std.typecons.Tuple - either via some additional templates or possibly adding something to the language itself - but that hasn't happened yet, and there are no tuples built into D. - Jonathan M Davis There's .tupleof, I would consider that built-in. -- /Jacob Carlborg
Re: Where is 'tuple' in the language reference
Steve Teale wrote: I see the term used, but I can't find where it is defined. It's here: http://www.d-p-l.org/template.html#variadic-templates A Tuple is not a type, an expression, or a symbol. It is a sequence of any mix of types, expressions or symbols. The language terminology is easily confused with the constructs that phobos defines, where TypeTuple and Tuple mean different things.
Re: Where is 'tuple' in the language reference
On Saturday 06 August 2011 11:10:57 Jacob Carlborg wrote: On 2011-08-05 11:10, Jonathan M Davis wrote: On Friday 05 August 2011 08:55:32 Steve Teale wrote: I see the term used, but I can't find where it is defined. Probably nowhere. There are no built-in tuples in D. std.typecons.Tuple is probably what you're looking for. It's a struct which defines a tuple. There's also std.typetuple.TypeTuple which is a compile time construct useful in meta- programming. But there is no tuple built into D. There has been some discussion of improving the syntactic sugar with regards to std.typecons.Tuple - either via some additional templates or possibly adding something to the language itself - but that hasn't happened yet, and there are no tuples built into D. - Jonathan M Davis There's .tupleof, I would consider that built-in. True. I forgot about that one. IIRC, that's effectively a TypeTuple, but TypeTuple is in std.typetuple, so I'm not quite sure what the deal with that is. Regardless, TypeTuple has always been a bit confusing. It doesn't contain just types, and it's not really a tuple. It's probably a bit late in the game to give it a better name though. Adding tuples to the language like Bearophile keeps pushing for would probably make things even more confusing. - Jonathan M Davis
Re: Where is 'tuple' in the language reference
On Fri, 05 Aug 2011 11:55:32 +0300, Steve Teale steve.te...@britseyeview.com wrote: I see the term used, but I can't find where it is defined. http://d-programming-language.org/tuple.html You may find the newsgroup digitalmars.D.learn more appropriate for such questions :) -- Best regards, Vladimirmailto:vladi...@thecybershadow.net
Re: Where is 'tuple' in the language reference
On Friday 05 August 2011 08:55:32 Steve Teale wrote: I see the term used, but I can't find where it is defined. Probably nowhere. There are no built-in tuples in D. std.typecons.Tuple is probably what you're looking for. It's a struct which defines a tuple. There's also std.typetuple.TypeTuple which is a compile time construct useful in meta- programming. But there is no tuple built into D. There has been some discussion of improving the syntactic sugar with regards to std.typecons.Tuple - either via some additional templates or possibly adding something to the language itself - but that hasn't happened yet, and there are no tuples built into D. - Jonathan M Davis
Re: Where is 'tuple' in the language reference
Then if they are just a library artifact, should the terms TypeTuple and \ ExpressionTuple be present in the language reference? Maybe 'tuple' can slip in, since it is a more generic term, but even that is doubtful since it causes people to hunt through the reference to see what facilities D provides.