
On Thu, Nov 24, 2011 at 2:43 AM, Joel Falcou <joel.falcou@gmail.com> wrote:
On 23/11/2011 13:04, Lorenzo Caminiti wrote:
For some of our users/problems polymorphism might not be relevant
If it is not relevant, you dont lose anything, polymorphism incldues monomorphism.
Again, in this context with polymorphism you loose statement syntax for your function bodies.
while using statement syntax for the body might. For those users/problems (3) might be worst than (2) because is does not use statement syntax in its body (worst error messages + less readable by others). We leave that decision up to our library users and we are all content.
The readability of error message is nothign more than a strawman argument. Lemme paraphrase Eric Niebler on the subject : "Template based library outputing walls of error are library with usability bug and these should be fixed". We have the tools for that (static assert, non-cascading dispatch on error etc), th eproblem is peopel just don't get this and bitch about the error instead of filling bugs for the rror to be spotted and corrected.
It was a time peopel were bitchign about error from std::vector instanciated with a non-default constructible type, now everybody get it right.
Again, the argument (which many, many of our library users have made thus IMO we should not discard) is both the errors and the fact that the non-statement body syntax is not familiar to many (so not "just the errors"). HTH, --Lorenzo