Please do not destroy the structure of the discussion. Answer different
posts in different posts.
On 05/28/2013 12:23 AM, Diggory wrote:
On Monday, 27 May 2013 at 13:42:51 UTC, Timon Gehr wrote:
It is not that similar, as it automatically expands into any context
and hence does not allow a nested structure.
The point being? It's true that there is some special behaviour, but
that's the same regardless of whether it's called StaticTuple or TypeTuple.
The point being that both StaticTuple and TypeTuple are poor names.
I don't think that having a construct that is restricted to just types
makes a lot of sense.
In a language which is most emphatically statically typed
In a language that does not type check template bodies. Template
metaprogramms are essentially untyped.
Also, I can agree on statically typed, but not most emphatically
statically typed. :o)
with built in support for class invariants and in/out contracts
and static assertions and template constraints.
you can't see the purpose of a TypeTuple?
Sure. It is rather pointless. The fact that there was a template
constraint is not preserved or used for later type checking (inexistent)
of the resulting "TypeTuple" in any way.
TypeTuple does not implement any functionality. It is an 'identity
function'.
And yet the documentation:
http://dlang.org/tuple.html (see Type Tuples)
Sure.
And the name clearly suggest that it DOES implement functionality
- that of checking that the arguments are all types.
Sure. The name is the problem, even if I do not agree with your
interpretation of the documentation. (there is not enough there to
interpret.)