You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
io extension: collapse user-type readers to fmt; rewrite guides
Tests/Std/Io.UserTypes.c:
- _read_Point2D / _read_Bounds / _read_Region rewritten as StrReadFmt
mirrors of their writer's format string. The format pipeline handles
literal delimiters and recurses into nested user-type arms through
IOFMT_USER_CASE_, so each reader collapses to three lines. -99 lines
of hand-rolled cursor walking removed.
Docs/content/english/guides/*.md:
- Every guide carries the standard AI-authored banner.
- Six guides rewritten to tutorial shape after a two-pass review:
scope-based-allocator-discipline, generic-containers-and-ownership,
planned-fallible-apis-and-allocators, building-and-testing,
parsing-kv-config-files, working-with-graphs. Roughly 1,500 lines
of design rationale, rejected-alternatives prose, embedded
changelogs, and "that is deliberate" asides removed. Internals
stay in code comments and in allocator-internals.md.
105-test suite green.
description: "A practical local workflow for cloning, building, testing, and debugging the library."
4
+
description: "Clone, build, and run the test suite."
5
5
authors:
6
6
- siddharth-mishra
7
7
tags:
@@ -11,84 +11,52 @@ tags:
11
11
- ninja
12
12
---
13
13
14
-
MisraStdC uses a conventional Meson plus Ninja workflow. The build story is intentionally boring, which is the right choice for a C library.
14
+
> **Note**: This post was drafted by an AI assistant under direction from the author. It is not first-hand writing; the design choices it describes are real, the prose explaining them is generated. Treat the technical content as the design talking, and the framing as a translation layer.
15
15
16
-
## Requirements
16
+
## What you need
17
17
18
-
You need:
18
+
A C11 compiler (GCC, Clang, or MSVC), Meson, and Ninja.
19
19
20
-
- a C11 compiler
21
-
- Meson
22
-
- Ninja
23
-
24
-
The project is meant to work across GCC, Clang, and modern MSVC.
Add `--print-errorlogs` to see the failing test's output without re-running it manually.
84
52
85
-
- generated API pages from `Scripts/DocuGen.py`
86
-
- curated prose content under `Docs/content/english`
53
+
## Documentation
87
54
88
-
So when public APIs move, the correct workflow is not just "fix code and push". It is:
55
+
The Hugo site under `Docs/` is rebuilt by CI on every push to `master`; you can serve it locally too:
89
56
90
-
1. update public comments
91
-
2. regenerate docs
92
-
3. make sure the generated pages still reflect the intended public surface
57
+
```bash
58
+
cd Docs
59
+
hugo server
60
+
```
93
61
94
-
That keeps the published site aligned with the code instead of drifting into a stale wrapper around the headers.
62
+
Public-API reference pages are generated from header comments by `Scripts/DocuGen.py`. If you change a public comment, regenerate the docs before pushing so the site reflects what the headers actually say.
0 commit comments