How to do Generic Programming in D?
Jason House
jason.james.house at gmail.com
Tue Feb 22 13:43:38 PST 2011
Nick Wrote:
> Coming from Andrei's work in C++ "Modern C++ Programming" I wonder how
> to implement many of those patterns in D?
>
> In C++ I would work with type lists and use lots of multiple inheritance
> and templates to get the magic I need.
I don't have the book, but I'm sure that if you posted an example task, someone here (or on d.learn) would translate it using their favorite D style.
> D lacks MI, classes and delegates seem heavy (allocated on heap, with
> one extra pointer and new for each delegate) and has instead template
> mixins which do not create types and string mixing which create... anything.
Nick addressed some of these already.
I thought delegates were passed like a struct on the stack. The extra pointer in a delegate seems handy to me. It's much cleaner than what C++ does. There's also C-like function pointers.
You also left out "static if", compile-time function execution, and is expressions. They replace a lot of the required magic from C++. A lot of people swear by string mixins, but I use them sparingly. There's also conditional templates which I've never used, but look useful.
>
> So I am a bit lost.
>
> I guess I am looking for some code&examples to read to "get" GP in D. A
> bit like "Modern C++ Programming".
>
> Of course, the basic question being: is D2 sufficient to support
> everything that is possible in C++?
>
> Thanks!
More information about the Digitalmars-d
mailing list