BLADE 0.2Alpha: Vector operations with mixins, expression templates,

Dave Dave_member at pathlink.com
Mon Apr 9 10:01:57 PDT 2007


Dan wrote:
> Pragma Wrote:
>> In short: no.  But it's really an unintentionally loaded question: there are some rather severe limitations as to what 
>> kind of data structures you can create at compile time.  You're basically limited to tuples and strings, each of which 
>> have drawbacks of their own.
>>
>> You can create a tree using tuples, but then you run into problems with over-running the limitations on identifier 
>> length built into the compiler.  Strings are no where near as flexible out of the box, but pose no storage limitations, 
>> which gives a slight edge to string-based representations of data.  With some clever coding, strings can be made to 
>> store just about any structure imaginable (even if it does make for some ugly code).
> 
> Well said.  Once the AST is reflected at compile time, I'm sure the code can be made vastly more refined; and perhaps additional code generators can be developed and *hopefully* integrated into D.
> 
> Particular generators that spark my interest tend to have to do with x87, SSE extensions, and x86-64.  Most compilers to date don't properly use these functionalities.  Having them integrated into D Agner Fog-optimally would hugely replace alot of C++ gaming, video, rendering and graphics engine code.
> 
> *bigsmile

Hmmm - I wonder if a lot of what Don's been doing is serving as a "proof of concept" for the D 2.0 
compiler, to be written in D of course <g>

(It just seems like a lot of the new D features fit so well with compiler development. Especially 
for things like "proving constness", etc.)

- Dave



More information about the Digitalmars-d mailing list