CIR Playground
Load example...
CIR on GitHub
Input
Run
#include <stdio.h> #include <cir.h> // Repeats `code` `numTimes` times, literally without using loops. // Code value is discarded. static CirCodeId repeat(int numTimes, CirCodeId codeId) { CirCodeId outCodeId = CirCode_ofExpr(NULL); for (int i = 0; i < numTimes; i = i + 1) CirCode_append(outCodeId, CirCode_dup(codeId)); return outCodeId; } int main(void) { @repeat(10, puts("Hello World!")); return 0; }
stdout
stderr
Load Example...
×
00 - Compile-time fibonacci
01 - Inline Repeat
02 - Compile-time strtok
03 - Does a code call a function
04 - C Preprocessor identifiers may be accidentally shadowed
05 - CIR identifiers won't be accidentally shadowed
06 - C Preprocessor accidental capture of symbols
07 - CIR won't accidentally capture symbols
08 - bf-to-C (low level ver)
09 - bf-to-C (with quote-antiquote)
10 - async-await
11 - Embed an external file
12 - zlib