
-----Original Message----- From: boost-bounces@lists.boost.org [mailto:boost-bounces@lists.boost.org] On Behalf Of Terje Slettebø
(Note: I
use pattern matching for simplicity. Lazy metaprogramming should be doable without pattern matching. I also have no more sympathy for lousy compiler implementers. RANT: How many years does it take to correctly implement a language (C preprocessor) described in about 20 pages of prose? For some it seems to take more than a decade.)
Do I detect a hint of bitterness? ;)
Plenty.
I'm sure Paul Mensonides is struggling with similar things, his Chaos library being only usable on the most conforming compilers (from what I understand).
I'm not exactly struggling with it. I'm simply not supporting any preprocessor that is buggy. The purpose of Chaos is to see how far that I can push it, to see how many techniques that I can create, etc., not to make a practical tool. That is only a side-effect of the underlying motivation, and that side-effect only happens to come into play on very good preprocessors.
I guess some of the reason might been that it hasn't been much of a priority for compiler vendors. It's rather unlikely that a huge number of customers come to them, asking for better preprocessor support... :)
On the other hand, with PP-programming having been become more "mainstream", being used quite a bit in Boost, for one thing, this might change.
Unlikely. Boost is so full of workarounds for broken compilers (and preprocessors) that it doesn't really encourage vendors to fix their compilers much at all. Furthermore, most vendors lack a fundamental motivation: implementing the language according to the standard because it is the right thing to do from an ethical standpoint. With the preprocessor specifically, vendors have a low opinion of heavy preprocessor use based on years of invalidly attributed stigma. That opinion, in turn, significantly lowers their desire to fix their preprocessors. Paul Mensonides