On Monday, 11 March 2013 at 02:39:47 UTC, Jonathan M Davis wrote:
I haven't read the paper, so I really don't know what problems they see with static if, and C++ _is_ a very different beast than D (particularly with regards to stuff done at compile time), but without statif if, C++ seems very crippled with regards to templates and conditional compilaton. The combination of template constraints and static ifs is _extremely_ powerful in D, and it works very well. C++ currently lacks anything of the sort, and until it does, it's templates will be very much inferior to D's. Maybe they can gain similar power through different mechanisms, but I'm surprised that anyone would think that static if was such a bad idea. It's working fantastically well for us, and I don't know how we'd get along without it.

It basically comes down to syntactical analysis, being able to tell if code is written right (when blocks end as well), which goes with their templates and use of <>'s; Which I'm glad to see D isn't crippled in that way.

The another part is how static if becomes 'viral' as you'd have to use 'static if' in every spot elsewhere in order to keep it in line; However the example shown is bad programming practice and; You can duplicate very easily using the preprocessor.

A third part of it was how 'verbose' they would have to be to check constraints, but with how just before C++11 they were verbose everywhere, so why it is verbose in constraints as his problem I am not sure.

Reply via email to