Template instantiation syntax

Jason House jason.james.house at gmail.com
Fri Oct 10 15:41:00 PDT 2008


Walter Bright Wrote:

> We seem to have reached a dead end on finding a significantly better 
> alternative than foo!(bar).
> 
> All is not lost, though. Andrei is working on an emacs module that will 
> parse D code and replace foo!(bar) with foo«bar» for display only when 
> the editor is in D mode, the underlying text will still be foo!(bar). 
> (This doesn't affect D at all, only its display in Emacs.)
> 
> Also, we're going to try using ! for single argument syntax, as in:
> 
> foo!bar  is same as   foo!(bar)
> foo!10   is same as   foo!(10)
> 
> etc. 0 arguments or more than 1 argument or arguments that are more than 
> one token long will still require !( ). We'll see how that works. I 
> think it looks rather nice.

Couple of comments/questions

The tool!lathe syntax doesn't look visually distinct enough for me. The @ syntax seems nicer on the eyes. I'm not trying to push changes. @() looks ugly to me, and having matching template syntax is desirable.

Is it ok to chain!nested!templates?  Gramatically, it's unambiguous.

Will Andrei color template parameters with ! so they're easier to spot? How would they look when nested? Alternating colors should work



More information about the Digitalmars-d mailing list