shouting versus dotting
Ary Borenszweig
ary at esperanto.org.ar
Sat Oct 4 21:25:53 PDT 2008
Andrei Alexandrescu escribió:
> The problem I see with "!" as a template instantiation is not technical.
> I write a fair amount of templated code and over years the "!" did not
> grow on me at all. I was time and again consoled by Walter than one day
> that will happen, but it never did. I also realized that Walter didn't
> see a problem with it because he writes only little template code.
>
> I didn't have much beef with other oddities unique to D. For example, I
> found no problem accommodating binary "~" and I was wondering what makes
> "!" different. I was just looking at a page full of templates and it
> looked like crap.
>
> One morning I woke up with the sudden realization of what the problem
> was: the shouting.
>
> In C, "!" is used as a unary operator. That may seem odd at first, but
> it nevers follows a word so it's tenuous to associate it with the
> natural language "!". In D, binary "!" _always_ follows a word, a name,
> something coming from natural language. So the conotation with
> exclamation jumps at you.
I was thinking about in which other way templates could be specified...
Most of the other symbols already have a meaning as binary operator. And
it also would be nice to have an opening and closing symbols, like <> in
Java, C++, etc.
Can't {} be used for that? For example:
List{int} someList;
void foo{T}(T val) {
}
It seems more quiet. :-)
The only thing is, I don't know if this can lead to ambiguos parsing. I
thought about it a little, and it seems it's ok. Another thing is that
maybe { and ( look alike, so it can lead to confusion...
Oh, mmm... does it conflict with struct initializers?
More information about the Digitalmars-d
mailing list