shouting versus dotting
KennyTM~
kennytm at gmail.com
Sun Oct 5 03:03:21 PDT 2008
Michel Fortin wrote:
> On 2008-10-05 01:14:17 -0400, Andrei Alexandrescu
> <SeeWebsiteForEmail at erdani.org> said:
>
>> I don't favor "." any more than the next guy, but I am glad there is
>> awareness of how unfit a choice "!" is. If you have any ideas, please
>> post them! Ah! I! Exclaimed! Again!
>
> Hum, I don't think we have much choice, it'll have to be something in
> this lot:
>
> Positive!(real)(joke);
> Positive.(real)(joke);
> Positive#(real)(joke);
> Positive@(real)(joke);
> Positive&(real)(joke);
> Positive`(real)(joke);
> Positive´(real)(joke);
> Positive^(real)(joke);
> Positive¨(real)(joke);
> Positive\(real)(joke);
>
> Anything else I forgot?
>
> Or we could use special delimiter characters:
>
> Positive<real>(joke);
> Positive“real”(joke);
> Positive«real»(joke);
> Positive#real@(joke);
>
> Each having its own problem though.
>
> My preference still goes to "!(".
>
> - - -
>
> The ".(" syntax makes me think more of something like this:
>
> void func(T, alias methodOfT, A...)(T obj, A args)
> {
> obj.(methodOfT)(args);
> }
>
> which I which I could do. If methodOfT was a string, I suppose I could
> use string mixins, but it pushes diagnostics about misnamed methods
> further in the template and requires adding quotes to the template
> parameter when instanciating.
>
Argh, actually I once have a strong desire making
f«T»(x);
a valid construct, and to workaround that « and » can't be easily typed
you could substitute it with
f\<T\>(x);
---
Anyway, I think the .() syntax is not as good as !() because the . is
pretty hideous before another punctuation mark (which may be a good
thing, I don't know), and one could easily miss it.
And even if .() is allowed, please don't remove !() -- it will break
significantly many code, and it doesn't cause any ambiguity either
(unlike .func() vs .prop).
More information about the Digitalmars-d
mailing list