You should try D. It's pretty much C with some weirdness fixed and OOP added on. Do mind that it's not a weak language, D has some very simple but extremely powerful features that plain C doesn't have, or that C++ has in a too complex way.
So what part of that isn't fulfilled by compile time function evaluation and mixins and it's extensive introspection features? I feel like maybe you haven't looked at D quite hard enough to see why it's awesome.