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
Copy file name to clipboardExpand all lines: CLAUDE.md
+14-6Lines changed: 14 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -164,21 +164,27 @@ Each resource source file has a similar structure:
164
164
- Embedded procedures should have explicit `bind`
165
165
- Must be marked `readonly`
166
166
167
-
6.**Lazy initialisation procedure**
167
+
6.**Initialisation of any FIFO caches**
168
+
- Definition of cache capacity parameters and loading of parameter overrides from global context
169
+
- Definition of a generator procedure and a cardinality function
170
+
- Executing the `fifocache` resource to return a named "FIFO cache object"
171
+
172
+
7.**Lazy initialisation procedure**
168
173
- Data that must be computed (expensive) and is deferred until first execution
169
174
- First run derives and stores values (in global VM); subsequent runs load cached values
170
175
- Embedded procedures do not require `bind` (propagates from outer procedure)
171
176
172
-
7.**Main procedure**
177
+
8.**Main procedure**
173
178
- Exported by the resource and called on demand
174
179
- Uses immediate references to static data
175
180
- Calls lazy initialisation procedure
181
+
- Makes use of any named FIFO caches by executing their `fetch` method
176
182
- Bind the main procedure whilst inhibiting binding of non-standard operators defined on some RIPs, i.e. `barcode`
177
183
178
-
8.**Resource definition**
184
+
9.**Resource definition**
179
185
- Define the main procedure as a resource
180
186
181
-
9.**Allocation mode restore**
187
+
10.**Allocation mode restore**
182
188
- Return to previous defaults
183
189
184
190
@@ -434,6 +440,9 @@ Encoders create a common dictionary structure expected by their renderer:
434
440
/pixs [...] % 30x29 hexagon grid values
435
441
/opt options
436
442
>>
443
+
444
+
Callers can access the intermediate dictionary by setting the `dontdraw` options with `enabledontdraw` set in global context.
445
+
437
446
```
438
447
439
448
@@ -519,7 +528,7 @@ Read configuration from (optional) global context with a default:
519
528
```
520
529
521
530
522
-
**Module-Level Caching with fifocache**
531
+
**Module-Level Caching with FIFO caches**
523
532
524
533
For expensive computations that benefit from caching across invocations (e.g.,
525
534
generation of Reed-Solomon polynomial coefficients), use the `fifocache`
@@ -992,4 +1001,3 @@ Some PLRM terminology is a source of confusion. As a result of the following com
992
1001
-`b` is also an "object" that refers to the same VM storage as `a`
993
1002
994
1003
The terminology differs from many languages where the array itself would be referred to as an object and a and b would be referred to as names or references.
0 commit comments