Favorites » His Blog
-
http://www.csse.monash.edu.au/~damian/papers/HTML/ModestProposal.html
-
Mar 12, 11:01am
3 reviews
•http://www.csse.monash.edu.au/~damian...
-
A proposal to alter C++ syntax for consistency, differentiation, readability, and formal grammatical simplicity.
The good:
The introduction of ":=" for assignment, and "=" for equality.
Suggestion:
use of ":=" for destructive write
use of "=" operator for constexpr.
use of "==" for comparison check.
say, x=5 means is valid, but x=x+1 or x=5, x=6 is an error.
The new proposed syntax solves the problem of composing of a declaration, even though it is not consistent with the proposal of new C standard.
The lang "asm" { declarations } syntax, which avoids the quoting of asm statements.
And the bad: New syntax of templates.
It doesn't go with new C++ concepts.
Currently, C++ compilers treats the templates as a macro. It expands the templates and detects error only at their invocation.
But if we change this behaviour and use a dictionary passing style, (ie. pass the pointer to vtable as an extra argument to function) then the type constraints(what goes inside vtable) should be mentioned at the declaration of templates.
Specifying type constraints also solves helps the compiler to detect the error when it compiles templates, and also help in printing meaningful error messages at their invocation.
The ugly: Not compatibile with proposed syntax of C.
|