shouting versus dotting
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Sun Oct 5 06:45: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 "!(".
There was also Positive{real}(joke), with which I couldn't find an
ambiguity.
> - - -
>
> 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.
Given that methodOfT is an alias, there is no need for the parens.
Andrei
More information about the Digitalmars-d
mailing list