poica
data_desk
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.
poica
-
datatype99: C99 with sum types, v0.1.0
I'll try it at work soon. Sounds so good because I've spent for about a year to make it look as now, see https://github.com/Hirrolot/poica (my previous experiment).
Can you provide examples of general recursion and partial application in Boost/PP? When I was working on poica, it was a real pain to catch macro blueprinting with Boost/PP as well as capture an environment for macros (higher-order Boost/PP functions always accept an additional argument that is passed to functions; it needs to be unpacked further and so on).
data_desk
-
Don't want to admit it, but...
There are various ways you can do metaprogramming in C. Ryan Fleury's Data Desk is one example of how you can do inspection and introspection: https://github.com/ryanfleury/data_desk. Writing a C program that acts as a pre-compiler for your other C code is another example; you can make your own system for generics that way for example.
- Code generator for C for dealing with data
What are some alternatives?
datatype99 - Algebraic data types for C99
TDAmeritradeAPI - Front-end library - with C, C++, Python, and Java interfaces - for the recently expanded TDAmeritrade API
moonlight-common-c - Core implementation of Nvidia's GameStream protocol
whereami - Locate the current running executable and the current running module/library on the file system 🔎
metalang99 - Full-blown preprocessor metaprogramming
cdecl - Composing and deciphering C (or C++) declarations or casts, aka ‘‘gibberish.’’
awesome-c-preprocessor - A list of awesome C preprocessor stuff
kcgi - minimal CGI and FastCGI library for C/C++
derive4j - Java 8 annotation processor and framework for deriving algebraic data types constructors, pattern-matching, folds, optics and typeclasses.
enzo-dev - The Enzo adaptive mesh-refinement simulation code.
adt - Algebraic data types for Python (experimental, not actively maintained)
cp437.h - Header only codepage 437 unicode lookup table.