
I'm astounded at this line of thought, Dean. When choosing between two courses of action with reasonably equivalent outcomes, surely the one with the least cost is better. Thus, if using a library that is prone to triggering horrible error messages when misused is compared against using another library this does not trigger such error messages when misused, the choice is clear.
But the way people avoid the hard to read error messages is to move the error detection to runtime, where it is easy to control the error messages.
But that's not the case with Boost.Local. Boost.Local catches errors at compile time, the errors just look much better than with Phoenix because the errors come from actual C++ statements, not expression trees that approximate them. Regards, Nate