Skip to content

Commit d3f80ae

Browse files
committed
formatting
1 parent 308f15e commit d3f80ae

70 files changed

Lines changed: 21279 additions & 17370 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

css/home.css

Lines changed: 1099 additions & 1031 deletions
Large diffs are not rendered by default.

css/style.css

Lines changed: 96 additions & 52 deletions
Original file line numberDiff line numberDiff line change
@@ -3,25 +3,37 @@
33
============================================================ */
44

55
:root {
6-
--bg: #0d1117;
7-
--surface: #161b22;
8-
--border: #30363d;
9-
--accent: #58a6ff;
10-
--accent2: #bc8cff;
11-
--text: #e6edf3;
12-
--text-muted:#8b949e;
13-
--radius: 12px;
14-
--shadow: 0 4px 24px rgba(0,0,0,.5);
6+
--bg: #0d1117;
7+
--surface: #161b22;
8+
--border: #30363d;
9+
--accent: #58a6ff;
10+
--accent2: #bc8cff;
11+
--text: #e6edf3;
12+
--text-muted: #8b949e;
13+
--radius: 12px;
14+
--shadow: 0 4px 24px rgba(0, 0, 0, 0.5);
1515
}
1616

17-
*, *::before, *::after { box-sizing: border-box; margin: 0; padding: 0; }
17+
*,
18+
*::before,
19+
*::after {
20+
box-sizing: border-box;
21+
margin: 0;
22+
padding: 0;
23+
}
1824

19-
html { scroll-behavior: smooth; }
25+
html {
26+
scroll-behavior: smooth;
27+
}
2028

2129
body {
2230
background: var(--bg);
2331
color: var(--text);
24-
font-family: 'Segoe UI', system-ui, -apple-system, sans-serif;
32+
font-family:
33+
"Segoe UI",
34+
system-ui,
35+
-apple-system,
36+
sans-serif;
2537
line-height: 1.6;
2638
min-height: 100vh;
2739
}
@@ -31,7 +43,7 @@ nav {
3143
position: sticky;
3244
top: 0;
3345
z-index: 100;
34-
background: rgba(13,17,23,.9);
46+
background: rgba(13, 17, 23, 0.9);
3547
backdrop-filter: blur(10px);
3648
border-bottom: 1px solid var(--border);
3749
padding: 0 1.5rem;
@@ -52,12 +64,16 @@ nav .brand {
5264
nav a {
5365
color: var(--text-muted);
5466
text-decoration: none;
55-
font-size: .9rem;
56-
transition: color .2s;
67+
font-size: 0.9rem;
68+
transition: color 0.2s;
69+
}
70+
nav a:hover {
71+
color: var(--text);
5772
}
58-
nav a:hover { color: var(--text); }
5973

60-
nav .spacer { flex: 1; }
74+
nav .spacer {
75+
flex: 1;
76+
}
6177

6278
/* ── Page Header ─────────────────────────────────────────── */
6379
.page-header {
@@ -70,7 +86,7 @@ nav .spacer { flex: 1; }
7086
-webkit-background-clip: text;
7187
-webkit-text-fill-color: transparent;
7288
background-clip: text;
73-
margin-bottom: .75rem;
89+
margin-bottom: 0.75rem;
7490
}
7591
.page-header p {
7692
color: var(--text-muted);
@@ -98,8 +114,11 @@ nav .spacer { flex: 1; }
98114
color: var(--text);
99115
display: flex;
100116
flex-direction: column;
101-
gap: .75rem;
102-
transition: border-color .25s, transform .25s, box-shadow .25s;
117+
gap: 0.75rem;
118+
transition:
119+
border-color 0.25s,
120+
transform 0.25s,
121+
box-shadow 0.25s;
103122
}
104123
.card:hover {
105124
border-color: var(--accent);
@@ -116,18 +135,18 @@ nav .spacer { flex: 1; }
116135
color: var(--accent);
117136
}
118137
.card p {
119-
font-size: .9rem;
138+
font-size: 0.9rem;
120139
color: var(--text-muted);
121140
flex: 1;
122141
}
123142
.card .tag {
124143
display: inline-block;
125-
font-size: .75rem;
126-
padding: .2rem .6rem;
144+
font-size: 0.75rem;
145+
padding: 0.2rem 0.6rem;
127146
border-radius: 999px;
128-
background: rgba(88,166,255,.12);
147+
background: rgba(88, 166, 255, 0.12);
129148
color: var(--accent);
130-
border: 1px solid rgba(88,166,255,.25);
149+
border: 1px solid rgba(88, 166, 255, 0.25);
131150
}
132151

133152
/* ── Experiment Page Layout ──────────────────────────────── */
@@ -176,31 +195,37 @@ nav .spacer { flex: 1; }
176195
font-size: 1rem;
177196
color: var(--accent);
178197
border-bottom: 1px solid var(--border);
179-
padding-bottom: .5rem;
198+
padding-bottom: 0.5rem;
180199
}
181200
.controls label {
182201
display: flex;
183202
flex-direction: column;
184-
gap: .3rem;
185-
font-size: .85rem;
203+
gap: 0.3rem;
204+
font-size: 0.85rem;
186205
color: var(--text-muted);
187206
}
188-
.controls label span { color: var(--text); font-size: .8rem; }
189-
.controls input[type=range] {
207+
.controls label span {
208+
color: var(--text);
209+
font-size: 0.8rem;
210+
}
211+
.controls input[type="range"] {
190212
width: 100%;
191213
accent-color: var(--accent);
192214
cursor: pointer;
193215
}
194-
.controls select, .controls input[type=number], .controls input[type=text] {
216+
.controls select,
217+
.controls input[type="number"],
218+
.controls input[type="text"] {
195219
background: var(--bg);
196220
border: 1px solid var(--border);
197221
border-radius: 6px;
198222
color: var(--text);
199-
padding: .35rem .6rem;
200-
font-size: .875rem;
223+
padding: 0.35rem 0.6rem;
224+
font-size: 0.875rem;
201225
width: 100%;
202226
}
203-
.controls select:focus, .controls input:focus {
227+
.controls select:focus,
228+
.controls input:focus {
204229
outline: none;
205230
border-color: var(--accent);
206231
}
@@ -210,17 +235,21 @@ nav .spacer { flex: 1; }
210235
display: inline-flex;
211236
align-items: center;
212237
justify-content: center;
213-
gap: .4rem;
214-
padding: .5rem 1rem;
238+
gap: 0.4rem;
239+
padding: 0.5rem 1rem;
215240
border-radius: 6px;
216241
border: none;
217242
cursor: pointer;
218-
font-size: .875rem;
243+
font-size: 0.875rem;
219244
font-weight: 600;
220-
transition: opacity .2s, transform .1s;
245+
transition:
246+
opacity 0.2s,
247+
transform 0.1s;
221248
text-decoration: none;
222249
}
223-
.btn:active { transform: scale(.97); }
250+
.btn:active {
251+
transform: scale(0.97);
252+
}
224253
.btn-primary {
225254
background: var(--accent);
226255
color: #0d1117;
@@ -230,26 +259,36 @@ nav .spacer { flex: 1; }
230259
color: var(--text);
231260
border: 1px solid var(--border);
232261
}
233-
.btn-secondary:hover { border-color: var(--accent); color: var(--accent); }
234-
.btn:disabled { opacity: .45; cursor: not-allowed; }
262+
.btn-secondary:hover {
263+
border-color: var(--accent);
264+
color: var(--accent);
265+
}
266+
.btn:disabled {
267+
opacity: 0.45;
268+
cursor: not-allowed;
269+
}
235270

236271
/* ── Info Box ────────────────────────────────────────────── */
237272
.info-box {
238-
background: rgba(88,166,255,.07);
239-
border: 1px solid rgba(88,166,255,.2);
273+
background: rgba(88, 166, 255, 0.07);
274+
border: 1px solid rgba(88, 166, 255, 0.2);
240275
border-radius: var(--radius);
241276
padding: 1rem 1.25rem;
242-
font-size: .875rem;
277+
font-size: 0.875rem;
243278
color: var(--text-muted);
244279
line-height: 1.7;
245280
}
246-
.info-box h4 { color: var(--accent); margin-bottom: .4rem; font-size: .95rem; }
281+
.info-box h4 {
282+
color: var(--accent);
283+
margin-bottom: 0.4rem;
284+
font-size: 0.95rem;
285+
}
247286
.info-box code {
248-
background: rgba(255,255,255,.06);
287+
background: rgba(255, 255, 255, 0.06);
249288
border-radius: 4px;
250-
padding: .1em .35em;
251-
font-family: 'Fira Code', Consolas, monospace;
252-
font-size: .85em;
289+
padding: 0.1em 0.35em;
290+
font-family: "Fira Code", Consolas, monospace;
291+
font-size: 0.85em;
253292
color: var(--accent2);
254293
}
255294

@@ -258,9 +297,14 @@ footer {
258297
text-align: center;
259298
padding: 2rem 1rem;
260299
color: var(--text-muted);
261-
font-size: .85rem;
300+
font-size: 0.85rem;
262301
border-top: 1px solid var(--border);
263302
margin-top: 3rem;
264303
}
265-
footer a { color: var(--accent); text-decoration: none; }
266-
footer a:hover { text-decoration: underline; }
304+
footer a {
305+
color: var(--accent);
306+
text-decoration: none;
307+
}
308+
footer a:hover {
309+
text-decoration: underline;
310+
}

essays/NAM/README.md

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ forkable virtual machine** that emits an infinite digit stream on demand.
99
This is not a metaphor. It is a literal computational ontology with precise consequences for implementation, memory
1010
complexity, and the structure of mathematics itself. The framing has deep roots — Cauchy sequences, computable reals (
1111
Turing 1936), coalgebraic stream arithmetic, p-adic expansions, exact real arithmetic systems like iRRAM, and the Type-2
12-
Theory of Effectivity all instantiate parts of this idea. What is new here is not the underlying mathematics but the *
13-
*unified protocol, the codec/base separation, and the explicit ABI** that makes all of it composable at native speed.
12+
Theory of Effectivity all instantiate parts of this idea. What is new here is not the underlying mathematics but the \*
13+
\*unified protocol, the codec/base separation, and the explicit ABI\*\* that makes all of it composable at native speed.
1414

1515
The primitive is simple:
1616

@@ -96,7 +96,7 @@ domain-specific libraries.
9696
## p-Adics Come for Free
9797

9898
The p-adic numbers are particularly natural in this model, and notably **easier than the reals** in a precise technical
99-
sense: digit commitment is *local* in p-adics, where it is *non-local* in the reals.
99+
sense: digit commitment is _local_ in p-adics, where it is _non-local_ in the reals.
100100

101101
A p-adic number is a digit stream indexed from the least significant digit upward, with digits in `{0, 1, ..., p-1}`. In
102102
the generator model, this is simply a MUX tree with a p-way multiplexer instead of a binary one.
@@ -164,8 +164,7 @@ monotone refinement process that commits digits as the interval collapses.
164164

165165
This is essentially interval arithmetic combined with online digit extraction, a technique with substantial prior art
166166
dating to the 1980s. Combined with signed-digit representation, it provides a complete streaming arithmetic layer for
167-
the reals — with the documented caveat that exact-boundary inputs (e.g., a result that is provably exactly `0.5` in base
168-
10) may not commit a leading digit in finite time. This is not a defect of the implementation but a structural property
167+
the reals — with the documented caveat that exact-boundary inputs (e.g., a result that is provably exactly `0.5` in base 10) may not commit a leading digit in finite time. This is not a defect of the implementation but a structural property
169168
of real-number computation, and the API must expose it honestly via interval-based predicates (`definitely_less_than`,
170169
`agrees_with(digits=N)`) rather than pretending exact equality is decidable.
171170

@@ -241,7 +240,7 @@ But "forkable" hides a critical bifurcation that a single ABI cannot honestly se
241240
classes of generator:
242241

243242
| Tier | Examples | State | Fork Cost |
244-
|---------------------|----------------------------------------------------|------------------------------|--------------------------------------------|
243+
| ------------------- | -------------------------------------------------- | ---------------------------- | ------------------------------------------ |
245244
| **Automaton class** | Rationals, algebraic irrationals, periodic p-adics | Fixed-size, inline | **O(1)** — true struct copy |
246245
| **Series class** | Classical transcendentals (π, e, log 2, ζ(3)) | Grows with computation depth | **O(log n)** — must deep-copy accumulators |
247246

@@ -314,8 +313,8 @@ Composition is function wrapping: an addition VM holds two sub-VM states plus a
314313
functions, combines the digits, and returns a new composite state. LLVM inlines the entire generator graph, optimizes
315314
across VM boundaries, fuses arithmetic, eliminates intermediate states, and specializes for constants.
316315
317-
**A caveat about LLVM's reach.** LLVM optimization applies fully to *statically-known, compile-time-fixed* expression
318-
trees. For *runtime-constructed* expression trees — parsing arithmetic expressions, dynamic matrix construction,
316+
**A caveat about LLVM's reach.** LLVM optimization applies fully to _statically-known, compile-time-fixed_ expression
317+
trees. For _runtime-constructed_ expression trees — parsing arithmetic expressions, dynamic matrix construction,
319318
user-input formulas — function-pointer dispatch will not be eliminated by static optimization alone. For these cases,
320319
the library provides a **JIT compilation path**: an expression tree is compiled to a single specialized LLVM function
321320
via `compile(expr_tree) → NumVMFn`, which then receives the same inlining, constant folding, and specialization
@@ -360,7 +359,7 @@ the preceding digits. This has been known since 1995. The mechanism — the alge
360359
and its alignment with the base-16 representation — has been understood in the prior literature, and the framing here is
361360
a **reformulation rather than a discovery**.
362361
363-
What the generator-VM model contributes is a *first-class library primitive* that lifts this phenomenon out of one-off
362+
What the generator-VM model contributes is a _first-class library primitive_ that lifts this phenomenon out of one-off
364363
optimizations and into the ABI:
365364
366365
**A BBP-type formula exists exactly when the generator automaton has a periodic orbit under the chosen codec.**
@@ -407,7 +406,7 @@ In the nano-VM model, the memory cost of a number is the size of its VM state
407406
fields and the bit-width required for each.
408407
409408
This gives a clean, implementation-level notion of numerical complexity. The hierarchy below is presented as a **working
410-
conjecture grounded in observed minimal-recurrence orders**, not as proven lower bounds. Proving that π *requires* at
409+
conjecture grounded in observed minimal-recurrence orders**, not as proven lower bounds. Proving that π _requires_ at
411410
least four coupled accumulators (rather than admitting some unknown three-register representation) is an open problem;
412411
the table reflects the structure of known optimal generators, not theorems about minimum state.
413412
@@ -430,7 +429,7 @@ generator state.
430429
No finite automaton suffices.
431430
432431
| Class | Minimal VM State Dimension | Memory Growth | Examples |
433-
|---------------------------|----------------------------|---------------|--------------------------|
432+
| ------------------------- | -------------------------- | ------------- | ------------------------ |
434433
| Rationals | 1 | constant | 1/7, 3/8 |
435434
| Quadratic irrationals | 2 | O(log n) | √2, φ |
436435
| Classical transcendentals | 3–4 | O(log n) | π, e |
@@ -466,7 +465,7 @@ number has a shortest program that generates it — but the generator is provabl
466465
any algorithm, even with infinite compute. This is inaccessibility in principle, not just in practice.
467466
468467
From the perspective of an observer reading the digit stream, these two classes look identical. They differ only in
469-
*why* the generator is inaccessible, not in how the output behaves. Cryptography is the engineered, intentional version
468+
_why_ the generator is inaccessible, not in how the output behaves. Cryptography is the engineered, intentional version
470469
of the general phenomenon of generator inaccessibility.
471470
472471
The real axis of classification is **generator accessibility**:
@@ -507,8 +506,8 @@ This collapses the operational distinction between program and number. In this m
507506
- The difference is only in how you interpret the generator
508507
509508
The space of numbers, as the library exposes it, is the space of all possible infinite computations. This is the most
510-
general possible *operational* number ontology — a strict superset of all existing computational frameworks. Whether it
511-
is a complete ontology of numbers *qua* mathematical objects is a separate question; the library does not require an
509+
general possible _operational_ number ontology — a strict superset of all existing computational frameworks. Whether it
510+
is a complete ontology of numbers _qua_ mathematical objects is a separate question; the library does not require an
512511
answer.
513512
514513
---
@@ -535,7 +534,7 @@ and does not pretend exact equality is a decidable operation. This is forced by
535534
laziness — and it is the same constraint every exact real arithmetic system operates under.
536535

537536
The same undecidability has a deeper consequence: the abstract equivalence class that a VM "represents" cannot in
538-
general be characterized except *through* generators like the VM itself. The library treats this as a non-issue at the
537+
general be characterized except _through_ generators like the VM itself. The library treats this as a non-issue at the
539538
engineering level — it is a theory of digit-emitting machines and the operations between them, not a metaphysical theory
540539
of what numbers ultimately are. The MUX/codec/skip/fork machinery works regardless of whether one is a Platonist, a
541540
constructivist, or a structuralist. That ontological neutrality is a feature: the library serves users across the
@@ -632,4 +631,4 @@ with the codec/base separation and the first-class skip primitive, this is a rea
632631
iRRAM, mpmath) even where it builds on their mathematical foundations.
633632

634633
Alpha to omega: from mathematical definitions to compiled digit streams, with the approximations made explicit, the
635-
costs made honest, and the limits made visible.
634+
costs made honest, and the limits made visible.

0 commit comments

Comments
 (0)