On Wednesday, 21 August 2013 at 00:38:31 UTC, Andrei Alexandrescu
wrote:
I think this whole thread is approaching things wrongly. It
should be:
1. What do we need?
2. What does a solution look like in the current language?
3. Which parts of the solution are frequent/cumbersome enough
to warrant a language change?
Exactly. Though if we want to avoid breaking changes as much as
possible, maybe it should be more like this:
2. What use cases current language state cover?
3. How it can me remodeled to have less confusing semantics /
definitions while covering as much old behavior as possible?
I am struggling at (3) because current applications love to
contradict each other when any relatively simple rule set is
imagined.
Basically there are 3 distinct (according to allowed usage) cases
for built-in tuples:
1) pure type-tuple
2) mixed compile-time tuple (literals and other compile-time
expressions go here)
3) run-time tuple over set of variables/parameters
As far as I can see, covering std.typecons.Tuple in similar way
is trivial - but re-defining those 3 in a meaningful way is
really challenging. Maybe you have any opinion as a concept
author? :P