rmcguire wrote:
Andrei Alexandrescu <seewebsiteforem...@erdani.org> wrote:
grauzone wrote:
Andrei Alexandrescu wrote:
Pelle Månsson wrote:
Andrei Alexandrescu wrote:
Yigal Chripun wrote:
On 23/10/2009 13:02, bearophile wrote:
Chris Nicholson-Sauls:

I prefer this (Scala):
list = list ++ (0 to 10)
That's quite less readable. Scala sometimes has some unreadable syntax. Python has taught me how much useful a readable syntax is :-) Designing languages requires to find a balance between several different and opposed needs.

Bye,
bearophile
how about this hypothetical syntax:

list ~= [0..10];
I'm not sure what the type of "list" is supposed to be, but this works today for arrays:

list ~= array(iota(0, 10));


Andrei
What does iota mean?
http://www.digitalmars.com/d/2.0/phobos/std_range.html#iota
This link jumps straight to:

Take!(Sequence!("a.field[0] + n * a.field[1]",Tuple!(CommonType!(B,E),S))) iota(B, E, S)(B begin, E end, S step);

Wow, please tell me this is a ddoc malfunction. I mean, that thing left to iota is supposed to be a type?

(OK, it _is_ a malfunction, but that thing is still supposed to be... a type?)
Well what was I supposed to do? It was either define another type Iota, or reuse existing types. I chose to reuse.

Andrei



Hi Andrei,

Could you tell me why:
Take!(Sequence!("a.field[0] + n * a.field[1]",Tuple!(CommonType!(B,E),S)))

Is a type and not a value?

-Rory

Take!(
    Sequence!(
        "a.field[0] + n * a.field[1]",
        Tuple!(
            CommonType!(B,E),
            S
        )
    )
)

If you look here:

http://www.dsource.org/projects/phobos/browser/trunk/phobos/std/algorithm.d

and in related files, you'll see that Take is a type with one parameter. Then Sequence is a type with two parameters. Then Tuple is a type with any number of parameters, and so is CommonType.

So in spite of it looking complicated, it's just a usual instantiation of a few parameterized types. (What may confuse a C++ programmer is the presence of the string - it's just a template argument.)


Andrei

Reply via email to