Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
cmacro
- Advanced Metaprogramming in C: A select statement
- Cmacro: Lisp Macros for C
-
Syntatic Sugar that compiles to C
even more interesting are the handful of projects layering lisp style macros on top of C. i've seen several go by over the years; a quick google search brought up c-mera and cmacro.
-
Show HN: C programming language extension: Cedro pre-processor
To implement something like linear types[1] in C, such that each instance of type_t must be used once and only once. But I imagine this would require too much integration with the type system and code analysis.
I wish binary inclusion was provided by more languages or build systems. For small files it's a very suitable alternative to the difficulties of packaging resources when distributing an application or library.
[0]: https://github.com/eudoxia0/cmacro
[1]: https://en.wikipedia.org/wiki/Substructural_type_system#Line...
langs
- How does the compiler know that an already typedefed ident is meant to be a new declarator?
- Compiler Case Study
- Making Simple Concepts Hard
- What makes a language easy for writing a parser?
-
Resources to understand mojo and compilers
The code is here. Note that the input filename is hardcoded in the source code.
- Automatic import of C headers —how to deal with macros?
- How does preprocessing work in a one pass compiler?
- 'Table Data' and 'X-Macros'
- Register Window in a Stack VM Interpreter
- My New IL
What are some alternatives?
ltools - LTools are a set of free, open-source productivity command-line tools (drawing inspiration from Unix commands and philosophy).
prolog-to-minizinc - A Prolog-to-MiniZinc translator
elpp - --- IN ATTIC BECAUSE: no feature
rakudo - 🦋 Rakudo – Raku on MoarVM, JVM, and JS
lisp-preprocessor - Common lisp embedded template engine
vox - Vox language compiler. AOT / JIT / Linker. Zero dependencies
cargo-expand - Subcommand to show result of macro expansion
zig - General-purpose programming language and toolchain for maintaining robust, optimal, and reusable software.
C-headers
wabt - The WebAssembly Binary Toolkit
factor - Factor programming language