Article first draft: CTFE,DDL,DLL all dead ?

Don Clugston dac at nospam.com.au
Mon Feb 18 03:24:13 PST 2008


Burton Radons wrote:
> Bjoern Wrote:
> 
>> I will read your article a third time, but I think it means : No need 
>> for CTFE anymore, DDL is dead. Furthermore we can use D as ultra fast 
>> scripting on-the-fly-compiled language. (using eval)
>>
>> Sorry I must be wrong!
> 
> It can take a big chunk out of any situation where you need to use a switch to select between templates, but it'll have little effect on anything which uses templating and CTFE for expressiveness. Or maybe it will - it's a diverse concept that I haven't fully explored.

The back-end of my BLADE code uses CTFE to generates asm for floating point 
array operations at compile-time; but the same CTFE can be used without 
modification for code generation at run-time. The advantage at run-time (or at 
least, at install time) is that you know the CPU, number of cores, and cache size.

I think that in your article you should include a brief comparison with the JIT 
techniques of Java/.NET. To a naive reading, it sounds similar; but they are 
fundamentally different. .NET's last-minute conversion of intermediate form to 
native code doesn't buy you very much. JIT source code generation is something 
else entirely. Using your library, you can have JIT selection of the 
_algorithm_. FFTW (www.fftw.org) is an interesting example of this sort of thing.


More information about the Digitalmars-d-announce mailing list