DIP6: Attributes

yigal chripun yigal100 at gmail.com
Tue Aug 4 02:33:43 PDT 2009


Steven Schveighoffer Wrote:
> 
> Yes, they have to be.  There are reasons besides overloading for including  
> other attributes in the naming.
> 
> For example, if a function is pure, then becomes unpure, you don't  
> existing code that is expecting a pure function to link against it.
> 
> In other words, the linker is dumb.  It only knows how to match symbols,  
> so you have to embed into the symbols the important pieces of the  
> interface that you want the linker to consider important.
> 
> To answer Don's point, there is nothing saying that the compiler can't  
> read attributes and change its behavior.  Of course, those would have to  
> be builtin attributes.
> 
> My opinion on removing existing keywords is -- don't.  There's little to  
> no gain.  Let that ship sail, and concentrate on future keyword proposals.
> 
> -Steve

If we are willing to have our own specialized linker format than the compiler can output data structures that contain a symbol with an assosiated map of attributes (meta-data). This will remove the need to have mangled symbols. For example, the compiler can provide to the linker the dependency graph as attributes. 



More information about the Digitalmars-d mailing list