@mark1russell7/coeval 0.3.2 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +4 -4
- package/build/index.d.ts +56 -9
- package/build/index.d.ts.map +1 -1
- package/build/index.js +306 -98
- package/build/index.js.map +1 -1
- package/package.json +1 -1
- package/src/deref.ts +10 -6
- package/src/evaluate.ts +66 -23
- package/src/formula.ts +91 -19
- package/src/parts.ts +42 -5
- package/src/static.ts +144 -42
- package/src/world.ts +15 -3
package/README.md
CHANGED
|
@@ -25,14 +25,14 @@ A plan evaluates many times without a trace. `evaluate(machine, doc)` gives the
|
|
|
25
25
|
| Part | Exports | What it does |
|
|
26
26
|
| --- | --- | --- |
|
|
27
27
|
| Documents | `isEnvelope`, `stored`, `typePath`, `docEquals` | The envelope, the keys of a store beside it, and the equality of documents |
|
|
28
|
-
| World | `lookupKind`, `Kind`, `Namespace`, `PartShape`, `ScopeRule` | The kinds, with their contracts: the shape of the parts, the names that a kind binds, and its effects. A namespace can have a fallback kind |
|
|
28
|
+
| World | `lookupKind`, `Kind`, `Namespace`, `PartShape`, `ScopeRule` | The kinds, with their contracts: the shape of the parts, the type of the data, the kinds that a position permits, the names that a kind binds, and its effects. A namespace can have a fallback kind |
|
|
29
29
|
| Ladder | `ask` | The evaluator of a verb: the own entry, then the kind, then the default |
|
|
30
|
-
| References | `resolve`, `HostThing`, `Navigator` | A path from a root of the context: `self`, `names`, `world`, `event` or `caps
|
|
30
|
+
| References | `resolve`, `HostThing`, `Navigator` | A path from a root of the context: `self`, `names`, `world`, `event` or `caps`. A step document can have computed parts, and a walker can give the code of its failure |
|
|
31
31
|
| Plans | `prepare`, `planner`, `evaluate`, `run` | A document compiles one time into code. An evaluator is a function or a compiler |
|
|
32
32
|
| The run side | `run`, `Runner`, `permits`, `narrow` | Effects in order, parts at the same time, capabilities that only narrow, and an abort |
|
|
33
33
|
| Errors | `Result`, `EvalError`, `Failure`, `failures` | An error value has a code, a reason, a place and a cause. An evaluation does not throw |
|
|
34
|
-
| The static kit | `walk`, `refsOf`, `mapRefs`, `check` | The documents of a document, its free references, and its problems before a run |
|
|
35
|
-
| The formula kit | `formulaMachine`, `FormulaProfile` | The shared constructs `lit`, `ref`, `record`, `list`, `let`, `fn`, `call`, `if`, `and`, `or`, and the namespaces `ops` and `ext
|
|
34
|
+
| The static kit | `walk`, `refsOf`, `mapRefs`, `check` | The documents of a document in linear time, its free references, and its problems before a run, each with its place and its JSON path |
|
|
35
|
+
| The formula kit | `formulaMachine`, `FormulaProfile` | The shared constructs `lit`, `ref`, `record`, `list`, `let`, `fn`, `call`, `if`, `and`, `or`, and the namespaces `ops` and `ext`. A profile gives the rules of a language, for example how the errors of two parts combine. An address gives a thing, not its value |
|
|
36
36
|
|
|
37
37
|
Each rule has an ID in [`docs/SPEC.md`](https://github.com/mark1russell7/coeval/blob/main/docs/SPEC.md), and each ID has a test. [The site](https://mark1russell7.github.io/coeval/) explains each idea with a live diagram.
|
|
38
38
|
|
package/build/index.d.ts
CHANGED
|
@@ -261,16 +261,24 @@ type Side = "derive" | "run";
|
|
|
261
261
|
* - `record`: the value is a record. Each named field has its shape. A list of names makes each named field a
|
|
262
262
|
* part. The other fields have the shape `rest` (the default is data). `required` names the fields that must be.
|
|
263
263
|
* - `deep`: each envelope at any depth of the value is a part, and the rest is data.
|
|
264
|
+
* - `text`, `number` and `one`: the value is data of that type. `one` names the values that it permits.
|
|
265
|
+
*
|
|
266
|
+
* A `term` with `address: true` is an address: a reference there gives what its path reaches, not the value. A
|
|
267
|
+
* `term` with `kinds` permits only a part whose type starts with one of the paths. A `record` with `closed: true`
|
|
268
|
+
* permits only its named fields. A `list` with `distinct: true` permits no two equal items.
|
|
264
269
|
*/
|
|
265
270
|
type Shape = {
|
|
266
271
|
readonly shape: "none";
|
|
267
272
|
} | {
|
|
268
273
|
readonly shape: "term";
|
|
269
274
|
readonly of?: string;
|
|
275
|
+
readonly address?: boolean;
|
|
276
|
+
readonly kinds?: readonly (readonly Key[])[];
|
|
270
277
|
} | {
|
|
271
278
|
readonly shape: "list";
|
|
272
279
|
readonly of?: string;
|
|
273
280
|
readonly item?: Shape;
|
|
281
|
+
readonly distinct?: boolean;
|
|
274
282
|
} | {
|
|
275
283
|
readonly shape: "map";
|
|
276
284
|
readonly of?: string;
|
|
@@ -281,9 +289,20 @@ type Shape = {
|
|
|
281
289
|
readonly of?: string;
|
|
282
290
|
readonly required?: readonly string[];
|
|
283
291
|
readonly rest?: Shape;
|
|
292
|
+
readonly closed?: boolean;
|
|
284
293
|
} | {
|
|
285
294
|
readonly shape: "deep";
|
|
286
295
|
readonly of?: string;
|
|
296
|
+
} | {
|
|
297
|
+
readonly shape: "text";
|
|
298
|
+
} | {
|
|
299
|
+
readonly shape: "number";
|
|
300
|
+
readonly whole?: boolean;
|
|
301
|
+
readonly min?: number;
|
|
302
|
+
readonly max?: number;
|
|
303
|
+
} | {
|
|
304
|
+
readonly shape: "one";
|
|
305
|
+
readonly values: readonly Json[];
|
|
287
306
|
};
|
|
288
307
|
/** The former name of `Shape`. */
|
|
289
308
|
type PartsSpec = Shape;
|
|
@@ -581,13 +600,17 @@ interface Context {
|
|
|
581
600
|
}
|
|
582
601
|
/** The code of a `deref` evaluator: it answers one step of a path on a document of its kind. */
|
|
583
602
|
type DerefCode = (doc: Envelope, key: Key) => Thing | undefined;
|
|
584
|
-
/**
|
|
603
|
+
/**
|
|
604
|
+
* The result of a step document: what it reached, or the reason of a failure. A failure can give its code, for
|
|
605
|
+
* example `#REF!` for a position outside a space. The default code is `#N/A`.
|
|
606
|
+
*/
|
|
585
607
|
type WalkResult = {
|
|
586
608
|
readonly ok: true;
|
|
587
609
|
readonly thing: Thing;
|
|
588
610
|
} | {
|
|
589
611
|
readonly ok: false;
|
|
590
612
|
readonly reason: string;
|
|
613
|
+
readonly code?: ErrorCode;
|
|
591
614
|
};
|
|
592
615
|
/** The input of a walker: the code of a step document, for example `nearest`. */
|
|
593
616
|
interface WalkInput {
|
|
@@ -632,7 +655,7 @@ interface Hop {
|
|
|
632
655
|
readonly thing: Thing;
|
|
633
656
|
readonly by: HopBy;
|
|
634
657
|
}
|
|
635
|
-
/** The codes
|
|
658
|
+
/** The codes that a resolution gives itself. A walker can give another code for its failure. */
|
|
636
659
|
type ResolveCode = "#REF!" | "#NAME?" | "#N/A" | "#CYCLE!" | "#STEP?";
|
|
637
660
|
/** The result of a resolution: what the path reached, with each hop, or an error with the hops before it. */
|
|
638
661
|
type Resolution = {
|
|
@@ -641,7 +664,7 @@ type Resolution = {
|
|
|
641
664
|
readonly hops: readonly Hop[];
|
|
642
665
|
} | {
|
|
643
666
|
readonly ok: false;
|
|
644
|
-
readonly code: ResolveCode;
|
|
667
|
+
readonly code: ResolveCode | ErrorCode;
|
|
645
668
|
readonly reason: string;
|
|
646
669
|
readonly hops: readonly Hop[];
|
|
647
670
|
};
|
|
@@ -765,6 +788,8 @@ interface PartSlot {
|
|
|
765
788
|
readonly key: string;
|
|
766
789
|
readonly item: Json;
|
|
767
790
|
readonly of?: string;
|
|
791
|
+
/** `true` when the position of the part declares an address: a reference there gives what its path reaches. */
|
|
792
|
+
readonly address?: true;
|
|
768
793
|
}
|
|
769
794
|
/** The value of a document, split into its parts, by the shape that its kind declares. */
|
|
770
795
|
type Split = {
|
|
@@ -966,6 +991,8 @@ interface CompileInput {
|
|
|
966
991
|
* @returns The value with the items.
|
|
967
992
|
*/
|
|
968
993
|
fill(items: readonly unknown[]): unknown;
|
|
994
|
+
/** `true` when the position of the document declares an address. A reference there gives the thing, not its value. */
|
|
995
|
+
readonly address?: boolean;
|
|
969
996
|
}
|
|
970
997
|
/**
|
|
971
998
|
* A sealed part. An evaluator can read the binding name of a part and evaluate it. It cannot read the value of the
|
|
@@ -1003,6 +1030,8 @@ interface EvalInput {
|
|
|
1003
1030
|
readonly context: Context;
|
|
1004
1031
|
/** The keys from the root document to this document. */
|
|
1005
1032
|
readonly place: readonly Key[];
|
|
1033
|
+
/** `true` when the position of the document declares an address. */
|
|
1034
|
+
readonly address?: boolean;
|
|
1006
1035
|
/**
|
|
1007
1036
|
* This function resolves a path from the context of the document.
|
|
1008
1037
|
*
|
|
@@ -1437,24 +1466,32 @@ interface DocVisit {
|
|
|
1437
1466
|
readonly place: readonly Key[];
|
|
1438
1467
|
/** The keys from the root JSON value to this document. A change at this path changes this document. */
|
|
1439
1468
|
readonly at: readonly Key[];
|
|
1469
|
+
/** The visit of the document that holds this document as a part. The root has none. */
|
|
1470
|
+
readonly parent?: DocVisit | undefined;
|
|
1471
|
+
/** The keys from the value of the parent to this document: the path of the part. The root has none. */
|
|
1472
|
+
readonly slot: readonly Key[];
|
|
1440
1473
|
/** The document. A bare value has the type that its position declares. */
|
|
1441
1474
|
readonly doc: Envelope;
|
|
1442
1475
|
/** `true` when the type came from the position and not from an envelope. */
|
|
1443
1476
|
readonly declared: boolean;
|
|
1444
1477
|
/** The kind of the document, when the world has it. */
|
|
1445
|
-
readonly kind?: Kind;
|
|
1478
|
+
readonly kind?: Kind | undefined;
|
|
1446
1479
|
/** The keys of the kind after each alias. */
|
|
1447
|
-
readonly typePath?: readonly Key[];
|
|
1480
|
+
readonly typePath?: readonly Key[] | undefined;
|
|
1448
1481
|
/** The number of documents around this document. The root has 0. */
|
|
1449
1482
|
readonly depth: number;
|
|
1450
1483
|
/** The names that the kinds around this document bind for it. */
|
|
1451
1484
|
readonly names: ReadonlySet<string>;
|
|
1452
1485
|
/** The names that a sequence around this document binds only for the parts after it. */
|
|
1453
1486
|
readonly later: ReadonlySet<string>;
|
|
1487
|
+
/** `true` when the position of the document declares an address: a reference there is not a read of a value. */
|
|
1488
|
+
readonly address?: true | undefined;
|
|
1454
1489
|
}
|
|
1455
1490
|
/** A position that a walk cannot read as a document. */
|
|
1456
1491
|
interface WalkProblem {
|
|
1492
|
+
/** The keys from the root document to the document with the problem. */
|
|
1457
1493
|
readonly place: readonly Key[];
|
|
1494
|
+
/** The keys from the root JSON value to the value with the problem. */
|
|
1458
1495
|
readonly at: readonly Key[];
|
|
1459
1496
|
readonly code: "#PART?" | "#VALUE!";
|
|
1460
1497
|
readonly reason: string;
|
|
@@ -1475,7 +1512,8 @@ interface WalkOptions {
|
|
|
1475
1512
|
/**
|
|
1476
1513
|
* This function visits each document of a document: the root and each part at each depth, by the contracts of the
|
|
1477
1514
|
* kinds. A part of a kind that the world does not have is not visited. The walk uses no stack of the host for the
|
|
1478
|
-
* depth, thus a deep document cannot overflow it.
|
|
1515
|
+
* depth, thus a deep document cannot overflow it. The time and the memory of a walk are linear in the size of the
|
|
1516
|
+
* document. A visit makes the keys of its place and of its path only when a reader asks for them.
|
|
1479
1517
|
*
|
|
1480
1518
|
* @param world - The world of the kinds.
|
|
1481
1519
|
* @param doc - The document, as JSON.
|
|
@@ -1485,6 +1523,8 @@ interface WalkOptions {
|
|
|
1485
1523
|
export declare function walk(world: World, doc: unknown, visit: (visit: DocVisit) => void | "skip", options?: WalkOptions): void;
|
|
1486
1524
|
/** One reference of a document. */
|
|
1487
1525
|
interface RefUse {
|
|
1526
|
+
/** The visit of the reference document: its parent, its depth and the names that it sees. */
|
|
1527
|
+
readonly visit: DocVisit;
|
|
1488
1528
|
/** The place of the reference document, through the parts. */
|
|
1489
1529
|
readonly place: readonly Key[];
|
|
1490
1530
|
/** The keys from the root JSON value to the reference document. */
|
|
@@ -1494,11 +1534,13 @@ interface RefUse {
|
|
|
1494
1534
|
readonly root: string;
|
|
1495
1535
|
/** `false` when a kind around the reference binds its first name. A reference to another root is free. */
|
|
1496
1536
|
readonly free: boolean;
|
|
1537
|
+
/** `true` when the reference is an address: its position declares it. An address does not read a value. */
|
|
1538
|
+
readonly address: boolean;
|
|
1497
1539
|
}
|
|
1498
1540
|
/**
|
|
1499
1541
|
* This function finds each reference of a document: each document of the type `ref` that a walk reaches. A
|
|
1500
1542
|
* reference to a name that a kind around it binds is not free. The others are what the document reads from
|
|
1501
|
-
* outside: its dependencies.
|
|
1543
|
+
* outside: its dependencies. When the kind `ref` has parts, the walk also finds the references in its step documents.
|
|
1502
1544
|
*
|
|
1503
1545
|
* @param world - The world of the kinds.
|
|
1504
1546
|
* @param doc - The document, as JSON.
|
|
@@ -1523,6 +1565,8 @@ interface Issue {
|
|
|
1523
1565
|
/** The keys from the root document to the document with the problem. */
|
|
1524
1566
|
readonly place: readonly Key[];
|
|
1525
1567
|
readonly reason: string;
|
|
1568
|
+
/** The keys from the root JSON value to the value with the problem. */
|
|
1569
|
+
readonly at?: readonly Key[];
|
|
1526
1570
|
}
|
|
1527
1571
|
/** The options of a check. */
|
|
1528
1572
|
interface CheckOptions {
|
|
@@ -1561,8 +1605,8 @@ type OpFn = (...args: never[]) => unknown;
|
|
|
1561
1605
|
* example a default for an error.
|
|
1562
1606
|
*/
|
|
1563
1607
|
type LazyOp = (args: readonly (() => Result)[]) => Result;
|
|
1564
|
-
/** The code of an extension: it gives the value of the data of an extension document. */
|
|
1565
|
-
type ExtFn = (data: Json) => Result;
|
|
1608
|
+
/** The code of an extension: it gives the value of the data of an extension document, in the context of the document. */
|
|
1609
|
+
type ExtFn = (data: Json, context: Context) => Result;
|
|
1566
1610
|
/**
|
|
1567
1611
|
* The rules of one formula language: its operations, and the rules that differ between languages.
|
|
1568
1612
|
*
|
|
@@ -1577,6 +1621,8 @@ type ExtFn = (data: Json) => Result;
|
|
|
1577
1621
|
* - `omit`: the errors that leave a field out of a `record`, as an absent value.
|
|
1578
1622
|
* - `missing`: the values that a reference cannot give. Such a value gives `#N/A`.
|
|
1579
1623
|
* - `check`: a check of the value of an operation, for example "a number must be finite".
|
|
1624
|
+
* - `combine`: the error of two or more failed parts of an operation, a `record` or a `list`. With it, each part
|
|
1625
|
+
* evaluates, and one failed part gives its own error. Without it, the first error stops the evaluation.
|
|
1580
1626
|
*/
|
|
1581
1627
|
interface FormulaProfile {
|
|
1582
1628
|
readonly ops?: Readonly<Record<string, OpFn>> | ((name: string) => OpFn | undefined);
|
|
@@ -1588,6 +1634,7 @@ interface FormulaProfile {
|
|
|
1588
1634
|
readonly omit?: (error: EvalError) => boolean;
|
|
1589
1635
|
readonly missing?: (value: unknown) => boolean;
|
|
1590
1636
|
readonly check?: (value: unknown, op: string) => Result | undefined;
|
|
1637
|
+
readonly combine?: (errors: readonly EvalError[]) => EvalError;
|
|
1591
1638
|
}
|
|
1592
1639
|
/** The value of a name whose binding failed. A reference to the name gives the error. */
|
|
1593
1640
|
export declare class Held {
|
package/build/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","names":["Shape","Part"],"sources":["../src/doc.ts","../src/errors.ts","../src/world.ts","../src/ladder.ts","../src/deref.ts","../src/classify.ts","../src/parts.ts","../src/evaluate.ts","../src/stdlib.ts","../src/order.ts","../src/context.ts","../src/static.ts","../src/formula.ts"],"mappings":";;KACY,mDAAmD;YAAmC,cAAA;;;KAGtF;YAAuC,cAAA;;;KAGvC;;;;;;;;;;;KAYA,4BAA4B;WAAmB;WAAsB,gBAAgB;;;;;;KAMrF;;WAED,MAAM;;WAEN,OAAO;;WAEP;;WAEA,MAAM,SAAS;;;qBAIb;;;;;;;;wBASG,SAAS,iBAAiB,SAAS;;;;;;;;wBAanC,MAAM,QAAQ,YAAY,cAAc;;;;;;;wBAUxC,MAAM,iBAAiB,SAAS;;;;;;;;wBAWhC,UAAU,iBAAiB,SAAS;;;;;;;wBAcpC,SAAS,MAAM,mBAAmB;;;;;;;wBAalC,SAAS,MAAM;;;;;;;;;wBAqBf,WAAW,iBAAiB,SAAS,aAAa;;UAUjD;WACN,UAAU;;WAEV,QAAQ,SAAS,eAAe;;;;;;;;;;wBAW3B,OAAO,gBAAgB,4BAA4B;;;;;;;;;wBAqBnD,MAAM,MAAM,SAAS,OAAO,MAAM;WAAmB;WAAwB,MAAM;IAAgC;;;;;;;wBAUnH,OAAO,eAAe,SAAS;;;;;;;wBAU/B,OAAO,KAAK,WAAW;;;;;;;wBAevB,SAAS,iBAAiB;;;;;;;;;;wBAuB1B,UAAU,YAAY;;;;KCpO1B;;KAkBA,YAAY;;;;;;;UAQP;WACN,MAAM;WACN;WACA,iBAAiB;WACjB;;;KAIC,OAAO;WAA0B;WAAmB,OAAO;;WAAiB;WAAoB,OAAO;;;KAGvG;WAAoB;WAAoB,OAAO;;;;;;;;wBAQ3C,GAAG,GAAG,OAAO,IAAI,OAAO;;;;;;;;;wBAYxB,KAAK,MAAM,WAAW,gBAAgB;WAAiB,iBAAiB;WAAgB;IAAyB;;;;;;;;;wBAejH,OAAO,GAAG,QAAQ,OAAO,IAAI,gBAAgB,QAAQ,OAAO;;;;;qBAS/D,gBAAgB;WAClB,OAAO;;;;;;EAOhB,YAAY,OAAO;;;;;;;;wBAaL,gBAAgB;;;;;;;;;wBAYhB,OAAO,gBAAgB,cAAc;;;;;;;wBAgBrC,SAAS;;;;KClIb
|
|
1
|
+
{"version":3,"file":"index.d.ts","names":["Shape","Part"],"sources":["../src/doc.ts","../src/errors.ts","../src/world.ts","../src/ladder.ts","../src/deref.ts","../src/classify.ts","../src/parts.ts","../src/evaluate.ts","../src/stdlib.ts","../src/order.ts","../src/context.ts","../src/static.ts","../src/formula.ts"],"mappings":"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"}
|