"No preprocessor, no macros."
Why is that an advantage ?
You could write C without any preprocessing but I can't see why you'd do that. It's pretty useful.
well, in C people abuses so much of cpp and fill so many kind of crap into #define' that it usually ends makeing the ICE confused, the code not passing any QA, and debugging sessions a bloody hell ...
... and I was so tired that "#define" (and the whole cpp-stuff) was the first thing I removed in my-c, at the cost of making "my-c" like a "schoolmarm" who properly educates my colleagues to avoid spending my time cleaning up their code :D
You can still use #define in my-c but only to define the size of an array, and if you use it then your code is not classified as level{1..4}(1) but rather as level{5} (C89/C99 legacy).
#define macro(a,b,c) .....
#define dbg_printf printf
#define foreach ...
etc
refused
#define my_array_size 1024
uint8_t my_array[my_array_size];
accepted, but the code is forced as level{5} (you cannot use advance my-c features, only C89 legacy ones)
So, array size by #define is accepted, other uses are banned, alias by different word defined, macros with parameters are recognized but the front end passes them to an "insult-engine" back-end I have implemented into the compiler (built-in, you cannot disable it by any flag) to better promote the cessation and cessation of bad coding attitude.
#define REPLY "The are a lot of languages designed for beginners. But experienced programmers require detailed syntax that does not treat them like they are a newbie teenager at code camp 101."
var controvesy string = $REPLY