vextoly/cryn

Move to gitman.io

Commit 095fa8b · niklas · 2026-11-03T12:01:59+01:00

Changeset
095fa8b9561eb55af4d1551f53460310c8451893
Parents
b065a7b767411e162800da396e5d37d83ea75ad2

View source at this commit

Comments

No comments yet.

Log in to comment

Diff

diff --git a/README.md b/README.md
index a5fd208..55da32f 100644
--- a/README.md
+++ b/README.md
@@ -28,7 +28,7 @@ Cryn source -> lexer -> parser -> AST -> semantic analysis -> Cryn IR
 The C backend emits a self-contained C11 translation unit and hands it to
 the host C compiler (the portable reference path). The native backend
 lowers the IR directly to x86-64 machine code and writes an ELF executable
-itself — no C compiler, linker, or CRT objects are involved at program
+itself. No C compiler, linker, or CRT objects are involved at program
 build time; the host C library is linked dynamically as the system-call
 interface.
 
@@ -251,9 +251,9 @@ These are honest boundaries of the first implementation, not pretenses:
   cell; enough to build locks). Communication of results happens
   through shared world cells.
 * **File handles are plain integers scoped to one context.** `open`
-  returns a handle (1–64 per context, -1 on failure; `read`, `write`,
+  returns a handle (1 to 256 per context, -1 on failure; `read`, `write`,
   `both`, and `append` modes). `use` routes the context's streams
-  through a handle — the readable side to input, the writable side to
+  through a handle: the readable side to input, the writable side to
   output; `use 0` returns to the standard streams. A spawned context
   cannot use its parent's handles, and closing a handle frees its
   number for reuse.
@@ -303,7 +303,7 @@ These are honest boundaries of the first implementation, not pretenses:
 Done from the original list: the native x86-64 backend (`--native`),
 release mode with compile-time elimination of statically provable bounds
 checks (`--release`), file positioning (`seek`) for `open both` streams,
-and the atomic-primitives evaluation — compare-and-swap and atomic
+and the atomic-primitives evaluation: compare-and-swap and atomic
 arithmetic build from `exchange` and `wait` alone
 ([tests/32_cas.cryn](tests/32_cas.cryn) is the proof), so no new
 primitive was added.
\ No newline at end of file