Day 51.
Есть ещё несколько интересных репозиториев, связанных с препроцессором:
• datatype99 (фактически синтаксический сахар для генерации типов, но с дополнительными плюшками вроде паттерн матчинга)
• interface99 (Golang/Rust inspired интерфейсы для C99)
• boline (integer arithmetics with base 16).
У последнего код с вайбом ASCII-art.
И есть ещё подгон от подписчика про расширение в clang, позволяющее делать макросы рекурсивными. Названо оно
__THIS_MACRO__:
#define fold_left(op, head, ...)(__VA_OPT__(__THIS_MACRO__(op,__VA_ARGS__)op)head)
fold_left(+, 1, 2, 3, 4) // раскрывается в ((((4)+3)+2)+1)
@thisnotes. Patreon, Boosty.
Спасибо Artyom Garkavy и niki4smirn.