D vs C++
Andrei Alexandrescu
SeeWebsiteForEmail at erdani.org
Mon Dec 27 09:34:05 PST 2010
On 12/27/10 10:01 AM, Caligo wrote:
> On Mon, Dec 27, 2010 at 7:20 AM, Jonathan M Davis <jmdavisProg at gmx.com
> <mailto:jmdavisProg at gmx.com>> wrote:
>
> On Monday 27 December 2010 04:41:37 spir wrote:
> > On Sun, 26 Dec 2010 12:06:04 -0800
> >
> > Walter Bright <newshound2 at digitalmars.com
> <mailto:newshound2 at digitalmars.com>> wrote:
> > > 11. generative programming
> >
> > Does someone have a pointer to any kind of doc about this? (in D)
>
> Anything on templates, template mixins, and string mixins. All of
> them generate
> code. And some people have done some pretty crazy stuff with them
> (especially
> string mixins).
>
> - Jonathan M Davis
>
>
> So is it like template metaprogramming in C++? a small D example would
> be helpful. There doesn't seem to be anything about it in TDPL.
Look up the index for "mixin". Most, if not all, examples of string
mixins are generative.
The canonical example I give is std.bitmanip.bitfields, see
http://www.dsource.org/projects/phobos/browser/trunk/phobos/std/bitmanip.d
> As for CTFE, does this mean I could call 'writeln()' at compile time and
> have it print a message to stdout while compiling?
You can't because that's not pure. Incidentally you can use pragma(msg,
"hello") as an alternate mechanism. Helped a lot while debugging
std.bitmanip.bitfields :o).
Andrei
More information about the Digitalmars-d
mailing list