
Joel de Guzman wrote:
Ok. As I already mentioned that I used to really hate the PP, you can easily change my mind. I am not particularly fond of the PP but the boost PP lib hides all the ugliness behind a usable interface and that's fine with me. Sure some ugliness cannot be hidden, like, the arcane all cap naming convention prefixed by BOOST_ to avoid name clashes, but... it's the only practical way I know. Ok, please, I'd like to think out of the box! What other alternatives are there?
This is, unsurprisingly, a major effort, and boost would be a crucible of the size and expertise needed to pull it off. The way I see things, there are three ways: 1. Start from the Boost implementation of the C++ preprocessor, and add sane features to it. Keep the old preprocessor features as deprecated. 2. Agree on a standard text preprocessing tool (perl, awk, sed, m4...) and write some utilities tailored for C++ tasks. 3. Start an effort to add ways of manipulating ASTs to the native language so as to eliminate the need for preprocessing. Given, however, the lack of traction that I sense around here, I think this group will be flooded with arguments on why all of 1, 2, and 3 are disadvantageous. But let's stay out of the box :o). Andrei