Re: Where is 'tuple' in the language reference

2011-08-06 Thread Jacob Carlborg

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

2011-08-06 Thread Lutger Blijdestijn
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

2011-08-06 Thread Jonathan M Davis
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

2011-08-05 Thread Vladimir Panteleev
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

2011-08-05 Thread Jonathan M Davis
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

2011-08-05 Thread Steve Teale
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.