Skip to content

Commit fe82e94

Browse files
authored
Update README.md
1 parent f3a5502 commit fe82e94

File tree

1 file changed

+48
-0
lines changed

1 file changed

+48
-0
lines changed

README.md

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,3 +11,51 @@ Rust spawns a C generator, the C generator emits `alpha.c`, `beta.c`, `runner.c`
1111
git clone https://github.com/QSOLKCB/HERESY.git
1212
cd HERESY
1313
cargo 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

Comments
 (0)