C% (from "C with mods") is an experimental meta-programming language that aims to make coding in C more efficient and fun!
Together with cmod, the reference pre-processor/code generator (written using C% itself), this project enables the C programmer with generic meta-programming constructs such as: parameterized verbatim code snippets, mapping code to static data tables (in TSV or JSON format), multi-pass code evaluation (allowing meta-meta-programming), compile-time command execution (allowing code generation from any other software/language), etc. as well as C-specific constructs such as: function types, named parameters, selection over strings and structs, etc. The C% standard library provides convenience constructs for inclusion in C programs.
Some of the things that C% aims to make achievable are:
All while keeping with the spirit of C: trust the programmer and don't prevent the programmer from doing what needs to be done!
Beyond C meta-programming, C%'s generic keywords enable meta-programming in other languages such as Python, Flex/Bison, etc.
For full documentation, please refer to the README.
Speakers: Sirio BolaƱos Puchet