proposal: generic tupleof property for expressions
Downs
default_357-line at yahoo.de
Mon Apr 30 07:29:12 PDT 2007
Don Clugston wrote:
> Downs wrote:
>> I think D could be made much more powerful by extending the tupleof
>> property
>> (or a new property) to arbitrary expressions, similar to stringof,
>> along the lines of
>>
>> (func(a, b)).tupleof resulting in a tuple like Tuple!(int
>> function(int, int), (a, b)).
>>
>> Or deeper: ((a+b)*c).tupleof == Tuple!(int function(int, int), ((int
>> function(int, int), a, b), c));
>
> Currently tuples can't be nested; they automatically flatten. You can't
> have a tuple inside a tuple.
Right, I forgot. Damn.
Is this necessary behavior? I mean, is there any reason why we need automatic flattening?
If they weren't, could they be flattened manually?
>
> What are 'a' and 'b' inside the tuple? Are they types, aliases, or values?
>
> eg
> int a;
> const int b=7;
> alias c a;
> What would ((a+b)*c).tupleof return?
Not sure actually, I just thought it might be neat.
I'm kinda undecided between values and aliases.
More information about the Digitalmars-d
mailing list