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