4 ms·
It looks like typeof() is being added it C23, so his complaint about it sort of makes sense. I say "sort of" because if he's truly concerned about the effort i
by ludocode 4y ago
It looks like typeof() is being added it C23, so his complaint about it sort of makes sense.
I say "sort of" because if he's truly concerned about the effort involved in creating independent implementations, then obviously he should be evaluating features by the difficulty involved in implementing them. typedef and typeof are absolutely trivial to implement [0] [1]. typedef just creates type aliases and typeof is very similar to sizeof.
Also, I'm not sure what 1000 functions you're referring to, but most functions being added are already in POSIX and already exist in a huge number of independent libc implementations. There are dozens of POSIX libcs, including at least 5 totally independent implementations for Linux alone that are still fully maintained and under active development.
[0]: typeof: https://github.com/rui314/chibicc/commit/7d80a5136d1b2926dd0776c51896c40723c518c5 https://github.com/rui314/chibicc/commit/7d80a5136d1b2926dd0...
[1]: typedef: https://github.com/rui314/chibicc/commit/a6b82da1ae9eefa44dada0baa885c283823ad59a https://github.com/rui314/chibicc/commit/a6b82da1ae9eefa44da...
- lifthrasiir 4y ago> It looks like typeof() is being added it C23, so his complaint about it sort of makes sense. To my knowledge typeof was discussed but not adopted to C23, but well, yeah, the proposal is still being updated as of February [1] so it's still on the table. Your argument with chibicc is actually great, though I personally think typeof is too much (in the same reason I think _Generic and <tgmath.h> is too much: they only solve overly specific problems). > Also, I'm not sure what 1000 functions you're referring to, [...] This one was my slight misunderstanding. I should have said 200+ functions, and they mostly come from the updated IEEE 754 standard and additional floating point and decimal types [2]. 1000 was the number of additional reserved identifiers. Still I feel uncomfortable about this sudden explosion in the single global namespace of C. [1] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2927.htm https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2927.htm [2] https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2426.pdf#page=5 https://www.open-std.org/jtc1/sc22/wg14/www/docs/n2426.pdf#p...