Jarrett Billingsley wrote:
On Tue, Jul 7, 2009 at 4:15 PM, Andrei
Alexandrescu<seewebsiteforem...@erdani.org> wrote:
Jarrett Billingsley wrote:
On Tue, Jul 7, 2009 at 3:49 PM, Jarrett
Billingsley<jarrett.billings...@gmail.com> wrote:
On Tue, Jul 7, 2009 at 3:38 PM, Walter Bright<newshou...@digitalmars.com>
wrote:
Nick Sabalausky wrote:
Someone else said it's also an expression
that evaluates to 3, but that seems beyond useless to me.
It's handy when you want to prefix one expression to another, as in:
(foo(), x + 3)
Cause you want to do that so often, after all.
*snort*
A more constructive reply: tuuuuples. TUPLES. Returning them! Using
them as first-class values! Yes.
Just prepend "tuple" and you're home at a low price.
I can't return tuples. I have to wrap them in a struct. If I do
that, then I can't index the struct as if it were a real tuple. Okay,
then I use 'alias this', and I end up with this struct that exists for
no purpose other than to get around a silly limitation in the type
system. Well, geez! Why not just make tuples first-class?
Yeah, really. The TupleType already exists in the compiler, but just
can't be expressed and passed around in the language.
I had trouble with this in Descent, for example:
auto x = Foo.tupleof;
Now you hover over "auto" and it should show you the type, but... the
type is magical! That was when I found out about tuples. Now I show that
as "Tuple!(...)", which is incorrect because it's not a template, but
the language can't represent tuples.
So there should be a syntax to represent tuples also...