@@ -11,3 +11,51 @@ Rust spawns a C generator, the C generator emits `alpha.c`, `beta.c`, `runner.c`
1111git clone https://github.com/QSOLKCB/HERESY.git
1212cd HERESY
1313cargo run -q
14+ You’ll see:
15+
16+ Rust compiles heretic_build.c in target/heresy_c/
17+
18+ The C generator writes/compiles alpha.c, beta.c, runner.c
19+
20+ Linked artifact: target/heresy_c/heresy_exe
21+
22+ A demo run prints messages from the C runner
23+
24+ Files
25+ src/main.rs — embeds the full C generator as a string, compiles & runs it.
26+
27+ target/heresy_c/ — build output (created at runtime).
28+
29+ .github/workflows/ci.yml — CI proves this nonsense is real.
30+
31+ Recursion Guard
32+ The C generator skips calling Cargo again if HERESY_ONCE=1. Remove or change that to tempt fate:
33+
34+ c
35+ Copy code
36+ // in heretic_build.c
37+ // run(" cargo build --quiet" ); // uncomment for chaos
38+ Determinism & Footprint
39+ Fixed flags: -Wall -g -O0 (change as you like).
40+
41+ No external deps beyond gcc and Rust toolchain.
42+
43+ Repro steps are tiny: cargo run -q.
44+
45+ License & Attribution
46+ Repo: MIT (or your preference).
47+
48+ Embedded concept borrows from Stack Overflow snippet lineage — attribute under CC BY-SA 4.0:
49+
50+ “Source ideas” and jokes inspired by: https://stackoverflow.com/a/79802354 (Trent Slade, modded by community).
51+
52+ This repo documents further modifications.
53+
54+ Danger Notes
55+ This is a stunt. It’s safe, but if you deliberately re-enable recursive Cargo calls, you asked for it.
56+
57+ CI keeps the recursion guard on.
58+
59+ Glory Wall
60+ “I compiled a compiler that compiles a compiler that compiles my alibi.” — A responsible engineer, allegedly
61+
0 commit comments