Template instantiation syntax

Benji Smith dlanguage at benjismith.net
Fri Oct 10 15:13: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.

Quick question: is "!" an operator in this context? (Or is it 
something-other-than-an-operator? If so, what is it?)

Is this code legal:

    (foo!bar)[] myArray;

Thanks!

--benji



More information about the Digitalmars-d mailing list