aontu 0.61.0 → 0.63.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/dist/agentsmd.d.ts +1 -0
- package/dist/agentsmd.js +7 -28
- package/dist/agentsmd.js.map +1 -1
- package/dist/alias.js.map +1 -1
- package/dist/allow.d.ts +23 -0
- package/dist/allow.js +138 -0
- package/dist/allow.js.map +1 -0
- package/dist/aontu.d.ts +4 -2
- package/dist/aontu.js +4 -80
- package/dist/aontu.js.map +1 -1
- package/dist/aontumodel.d.ts +4 -0
- package/dist/aontumodel.js +33 -0
- package/dist/aontumodel.js.map +1 -0
- package/dist/cli.d.ts +10 -1
- package/dist/cli.js +877 -479
- package/dist/cli.js.map +1 -1
- package/dist/ctx.js +0 -48
- package/dist/ctx.js.map +1 -1
- package/dist/diff.js +0 -32
- package/dist/diff.js.map +1 -1
- package/dist/err.js +0 -40
- package/dist/err.js.map +1 -1
- package/dist/escape.js +0 -45
- package/dist/escape.js.map +1 -1
- package/dist/exactjson.d.ts +0 -35
- package/dist/exactjson.js +0 -131
- package/dist/exactjson.js.map +1 -1
- package/dist/format.js +55 -189
- package/dist/format.js.map +1 -1
- package/dist/grammar.d.ts +9 -0
- package/dist/grammar.js +54 -0
- package/dist/grammar.js.map +1 -0
- package/dist/graph.js +0 -26
- package/dist/graph.js.map +1 -1
- package/dist/hcanon.js +0 -82
- package/dist/hcanon.js.map +1 -1
- package/dist/helpdoc.d.ts +16 -0
- package/dist/helpdoc.js +59 -0
- package/dist/helpdoc.js.map +1 -0
- package/dist/hints.d.ts +0 -6
- package/dist/hints.js +59 -47
- package/dist/hints.js.map +1 -1
- package/dist/jsonschema.js +0 -114
- package/dist/jsonschema.js.map +1 -1
- package/dist/keyorder.d.ts +0 -7
- package/dist/keyorder.js +0 -41
- package/dist/keyorder.js.map +1 -1
- package/dist/lang.js +32 -877
- package/dist/lang.js.map +1 -1
- package/dist/lower.d.ts +3 -0
- package/dist/lower.js +14 -61
- package/dist/lower.js.map +1 -1
- package/dist/lsp-server.js +0 -16
- package/dist/lsp-server.js.map +1 -1
- package/dist/lsp.d.ts +1 -1
- package/dist/lsp.js +12 -159
- package/dist/lsp.js.map +1 -1
- package/dist/mcp-server.js +0 -26
- package/dist/mcp-server.js.map +1 -1
- package/dist/mcp.js +0 -113
- package/dist/mcp.js.map +1 -1
- package/dist/mod-tool.js +0 -130
- package/dist/mod-tool.js.map +1 -1
- package/dist/mod.js +0 -162
- package/dist/mod.js.map +1 -1
- package/dist/patch.js +0 -217
- package/dist/patch.js.map +1 -1
- package/dist/provenance.js +0 -140
- package/dist/provenance.js.map +1 -1
- package/dist/query.js +0 -75
- package/dist/query.js.map +1 -1
- package/dist/reach.js +0 -43
- package/dist/reach.js.map +1 -1
- package/dist/relation.d.ts +2 -0
- package/dist/relation.js +3 -58
- package/dist/relation.js.map +1 -1
- package/dist/render.js +33 -143
- package/dist/render.js.map +1 -1
- package/dist/report-sarif.d.ts +0 -11
- package/dist/report-sarif.js +0 -28
- package/dist/report-sarif.js.map +1 -1
- package/dist/sig.js +0 -35
- package/dist/sig.js.map +1 -1
- package/dist/sigdecl.js +1 -1
- package/dist/sigdecl.js.map +1 -1
- package/dist/siggate.js +0 -4
- package/dist/siggate.js.map +1 -1
- package/dist/site.js +3 -29
- package/dist/site.js.map +1 -1
- package/dist/subsume.d.ts +0 -10
- package/dist/subsume.js +0 -137
- package/dist/subsume.js.map +1 -1
- package/dist/template.d.ts +2 -1
- package/dist/template.js +58 -138
- package/dist/template.js.map +1 -1
- package/dist/trim.js +0 -41
- package/dist/trim.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/dist/type.js.map +1 -1
- package/dist/unify.js +12 -242
- package/dist/unify.js.map +1 -1
- package/dist/utility.js +0 -22
- package/dist/utility.js.map +1 -1
- package/dist/val/AbnfFuncVal.d.ts +18 -0
- package/dist/val/AbnfFuncVal.js +132 -0
- package/dist/val/AbnfFuncVal.js.map +1 -0
- package/dist/val/AbsentVal.d.ts +11 -0
- package/dist/val/AbsentVal.js +30 -0
- package/dist/val/AbsentVal.js.map +1 -0
- package/dist/val/AggFuncVal.d.ts +10 -1
- package/dist/val/AggFuncVal.js +104 -116
- package/dist/val/AggFuncVal.js.map +1 -1
- package/dist/val/ArithFuncVal.js +0 -12
- package/dist/val/ArithFuncVal.js.map +1 -1
- package/dist/val/BagVal.js +1 -78
- package/dist/val/BagVal.js.map +1 -1
- package/dist/val/BigDecimalVal.js +0 -16
- package/dist/val/BigDecimalVal.js.map +1 -1
- package/dist/val/BigIntegerVal.js +0 -16
- package/dist/val/BigIntegerVal.js.map +1 -1
- package/dist/val/CloseFuncVal.js +0 -9
- package/dist/val/CloseFuncVal.js.map +1 -1
- package/dist/val/CmpFuncVal.d.ts +20 -0
- package/dist/val/CmpFuncVal.js +188 -0
- package/dist/val/CmpFuncVal.js.map +1 -0
- package/dist/val/ConjunctVal.js +0 -29
- package/dist/val/ConjunctVal.js.map +1 -1
- package/dist/val/ConstraintVal.js +0 -500
- package/dist/val/ConstraintVal.js.map +1 -1
- package/dist/val/ContainerKindVal.js +0 -2
- package/dist/val/ContainerKindVal.js.map +1 -1
- package/dist/val/CopyFuncVal.js +0 -3
- package/dist/val/CopyFuncVal.js.map +1 -1
- package/dist/val/Decimal.js +0 -179
- package/dist/val/Decimal.js.map +1 -1
- package/dist/val/DeprecateFuncVal.js.map +1 -1
- package/dist/val/DisjunctVal.js +0 -152
- package/dist/val/DisjunctVal.js.map +1 -1
- package/dist/val/EachFuncVal.d.ts +1 -2
- package/dist/val/EachFuncVal.js +12 -29
- package/dist/val/EachFuncVal.js.map +1 -1
- package/dist/val/EmitFuncVal.d.ts +1 -1
- package/dist/val/EmitFuncVal.js +6 -119
- package/dist/val/EmitFuncVal.js.map +1 -1
- package/dist/val/ExpectVal.js +0 -62
- package/dist/val/ExpectVal.js.map +1 -1
- package/dist/val/FilterFuncVal.js +0 -25
- package/dist/val/FilterFuncVal.js.map +1 -1
- package/dist/val/FuncBaseVal.d.ts +1 -0
- package/dist/val/FuncBaseVal.js +7 -127
- package/dist/val/FuncBaseVal.js.map +1 -1
- package/dist/val/GraphAtomVal.js +0 -15
- package/dist/val/GraphAtomVal.js.map +1 -1
- package/dist/val/HideFuncVal.js +0 -13
- package/dist/val/HideFuncVal.js.map +1 -1
- package/dist/val/IntegerVal.js +0 -61
- package/dist/val/IntegerVal.js.map +1 -1
- package/dist/val/JunctionVal.js +0 -20
- package/dist/val/JunctionVal.js.map +1 -1
- package/dist/val/KeyFuncVal.js +0 -46
- package/dist/val/KeyFuncVal.js.map +1 -1
- package/dist/val/ListVal.js +0 -57
- package/dist/val/ListVal.js.map +1 -1
- package/dist/val/LowerFuncVal.js +11 -6
- package/dist/val/LowerFuncVal.js.map +1 -1
- package/dist/val/MapVal.js +0 -151
- package/dist/val/MapVal.js.map +1 -1
- package/dist/val/MatchFuncVal.js +0 -27
- package/dist/val/MatchFuncVal.js.map +1 -1
- package/dist/val/{FormFuncVal.d.ts → MaybeFuncVal.d.ts} +5 -5
- package/dist/val/MaybeFuncVal.js +50 -0
- package/dist/val/MaybeFuncVal.js.map +1 -0
- package/dist/val/MoveFuncVal.js +0 -18
- package/dist/val/MoveFuncVal.js.map +1 -1
- package/dist/val/NilVal.js +2 -36
- package/dist/val/NilVal.js.map +1 -1
- package/dist/val/NomFuncVal.d.ts +12 -0
- package/dist/val/NomFuncVal.js +153 -0
- package/dist/val/NomFuncVal.js.map +1 -0
- package/dist/val/NumberVal.js +0 -15
- package/dist/val/NumberVal.js.map +1 -1
- package/dist/val/OpBaseVal.d.ts +1 -0
- package/dist/val/OpBaseVal.js +3 -15
- package/dist/val/OpBaseVal.js.map +1 -1
- package/dist/val/PackFuncVal.js +0 -34
- package/dist/val/PackFuncVal.js.map +1 -1
- package/dist/val/PathFuncVal.js +0 -6
- package/dist/val/PathFuncVal.js.map +1 -1
- package/dist/val/PathVal.js +0 -41
- package/dist/val/PathVal.js.map +1 -1
- package/dist/val/PlaceVal.js +0 -25
- package/dist/val/PlaceVal.js.map +1 -1
- package/dist/val/PlusOpVal.d.ts +1 -7
- package/dist/val/PlusOpVal.js +13 -74
- package/dist/val/PlusOpVal.js.map +1 -1
- package/dist/val/PrefFuncVal.js +0 -1
- package/dist/val/PrefFuncVal.js.map +1 -1
- package/dist/val/PrefVal.js +0 -167
- package/dist/val/PrefVal.js.map +1 -1
- package/dist/val/RecurseVal.js +0 -55
- package/dist/val/RecurseVal.js.map +1 -1
- package/dist/val/RefVal.js +0 -282
- package/dist/val/RefVal.js.map +1 -1
- package/dist/val/ReferFuncVal.js +0 -232
- package/dist/val/ReferFuncVal.js.map +1 -1
- package/dist/val/ScalarKindVal.js +0 -49
- package/dist/val/ScalarKindVal.js.map +1 -1
- package/dist/val/ScalarVal.js +0 -11
- package/dist/val/ScalarVal.js.map +1 -1
- package/dist/val/StrFuncVal.js +0 -18
- package/dist/val/StrFuncVal.js.map +1 -1
- package/dist/val/SuperFuncVal.js +0 -32
- package/dist/val/SuperFuncVal.js.map +1 -1
- package/dist/val/TopVal.js +0 -1
- package/dist/val/TopVal.js.map +1 -1
- package/dist/val/TranslateFuncVal.d.ts +12 -0
- package/dist/val/TranslateFuncVal.js +99 -0
- package/dist/val/TranslateFuncVal.js.map +1 -0
- package/dist/val/UpperFuncVal.js +11 -6
- package/dist/val/UpperFuncVal.js.map +1 -1
- package/dist/val/Val.d.ts +1 -0
- package/dist/val/Val.js +2 -133
- package/dist/val/Val.js.map +1 -1
- package/dist/val/VarVal.js +0 -12
- package/dist/val/VarVal.js.map +1 -1
- package/dist/val/arith.js +0 -37
- package/dist/val/arith.js.map +1 -1
- package/dist/val/caserange.d.ts +3 -0
- package/dist/val/caserange.js +49 -0
- package/dist/val/caserange.js.map +1 -0
- package/dist/val/members.js +0 -6
- package/dist/val/members.js.map +1 -1
- package/dist/val/numcmp.js +0 -11
- package/dist/val/numcmp.js.map +1 -1
- package/dist/val/numkind.js +0 -145
- package/dist/val/numkind.js.map +1 -1
- package/dist/val/valutil.js +0 -16
- package/dist/val/valutil.js.map +1 -1
- package/dist/vet.d.ts +12 -0
- package/dist/vet.js +159 -412
- package/dist/vet.js.map +1 -1
- package/dist/view.js +0 -414
- package/dist/view.js.map +1 -1
- package/dist/walk.js +0 -41
- package/dist/walk.js.map +1 -1
- package/grammar/aontu.abnf +9 -7
- package/grammar/aontu.gbnf +5 -5
- package/grammar/aontu.lark +5 -5
- package/grammar/aontu.tmLanguage.json +1 -1
- package/package.json +4 -2
- package/skill/SKILL.md +8 -0
- package/skill/init/check.sh +28 -0
- package/skill/init/data.aon +12 -0
- package/skill/init/model.aon +19 -0
- package/skill/tasks.md +151 -0
- package/src/agentsmd.ts +8 -32
- package/src/alias.ts +0 -39
- package/src/allow.ts +221 -0
- package/src/aontu.ts +10 -108
- package/src/aontumodel.ts +32 -0
- package/src/cli.ts +1009 -540
- package/src/ctx.ts +0 -103
- package/src/diff.ts +0 -40
- package/src/err.ts +0 -40
- package/src/escape.ts +0 -46
- package/src/exactjson.ts +0 -131
- package/src/format.ts +63 -234
- package/src/grammar.ts +72 -0
- package/src/graph.ts +0 -61
- package/src/hcanon.ts +0 -82
- package/src/helpdoc.ts +77 -0
- package/src/hints.ts +72 -49
- package/src/jsonschema.ts +0 -123
- package/src/keyorder.ts +0 -42
- package/src/lang.ts +39 -895
- package/src/lower.ts +15 -65
- package/src/lsp-server.ts +0 -16
- package/src/lsp.ts +12 -180
- package/src/mcp-server.ts +0 -31
- package/src/mcp.ts +0 -130
- package/src/mod-tool.ts +0 -158
- package/src/mod.ts +0 -178
- package/src/patch.ts +0 -232
- package/src/provenance.ts +0 -183
- package/src/query.ts +0 -84
- package/src/reach.ts +0 -53
- package/src/relation.ts +7 -71
- package/src/render.ts +33 -180
- package/src/report-sarif.ts +0 -48
- package/src/sig.ts +0 -35
- package/src/sigdecl.ts +1 -1
- package/src/siggate.ts +0 -30
- package/src/site.ts +3 -29
- package/src/subsume.ts +1 -161
- package/src/template.ts +69 -140
- package/src/trim.ts +0 -53
- package/src/type.ts +2 -45
- package/src/unify.ts +13 -251
- package/src/utility.ts +0 -31
- package/src/val/AbnfFuncVal.ts +181 -0
- package/src/val/AbsentVal.ts +54 -0
- package/src/val/AggFuncVal.ts +152 -188
- package/src/val/ArithFuncVal.ts +0 -20
- package/src/val/BagVal.ts +1 -78
- package/src/val/BigDecimalVal.ts +0 -16
- package/src/val/BigIntegerVal.ts +0 -16
- package/src/val/CloseFuncVal.ts +0 -9
- package/src/val/CmpFuncVal.ts +249 -0
- package/src/val/ConjunctVal.ts +0 -33
- package/src/val/ConstraintVal.ts +2 -537
- package/src/val/ContainerKindVal.ts +0 -18
- package/src/val/CopyFuncVal.ts +0 -5
- package/src/val/Decimal.ts +1 -185
- package/src/val/DeprecateFuncVal.ts +0 -10
- package/src/val/DisjunctVal.ts +0 -157
- package/src/val/EachFuncVal.ts +12 -53
- package/src/val/EmitFuncVal.ts +8 -208
- package/src/val/ExpectVal.ts +0 -62
- package/src/val/FilterFuncVal.ts +0 -55
- package/src/val/FuncBaseVal.ts +9 -130
- package/src/val/GraphAtomVal.ts +0 -42
- package/src/val/HideFuncVal.ts +0 -15
- package/src/val/IntegerVal.ts +0 -61
- package/src/val/JunctionVal.ts +0 -20
- package/src/val/KeyFuncVal.ts +0 -48
- package/src/val/ListVal.ts +0 -59
- package/src/val/LowerFuncVal.ts +12 -7
- package/src/val/MapVal.ts +0 -151
- package/src/val/MatchFuncVal.ts +0 -59
- package/src/val/MaybeFuncVal.ts +86 -0
- package/src/val/MoveFuncVal.ts +0 -20
- package/src/val/NilVal.ts +2 -36
- package/src/val/NomFuncVal.ts +200 -0
- package/src/val/NumberVal.ts +0 -16
- package/src/val/OpBaseVal.ts +4 -17
- package/src/val/PackFuncVal.ts +0 -63
- package/src/val/PathFuncVal.ts +0 -32
- package/src/val/PathVal.ts +0 -66
- package/src/val/PlaceVal.ts +0 -45
- package/src/val/PlusOpVal.ts +18 -75
- package/src/val/PrefFuncVal.ts +0 -1
- package/src/val/PrefVal.ts +0 -179
- package/src/val/RecurseVal.ts +0 -81
- package/src/val/RefVal.ts +1 -285
- package/src/val/ReferFuncVal.ts +0 -255
- package/src/val/ScalarKindVal.ts +0 -50
- package/src/val/ScalarVal.ts +0 -12
- package/src/val/StrFuncVal.ts +0 -44
- package/src/val/SuperFuncVal.ts +0 -42
- package/src/val/TopVal.ts +0 -1
- package/src/val/TranslateFuncVal.ts +132 -0
- package/src/val/UpperFuncVal.ts +12 -7
- package/src/val/Val.ts +3 -192
- package/src/val/VarVal.ts +0 -15
- package/src/val/arith.ts +0 -92
- package/src/val/caserange.ts +53 -0
- package/src/val/members.ts +0 -23
- package/src/val/numcmp.ts +1 -27
- package/src/val/numkind.ts +0 -149
- package/src/val/valutil.ts +0 -16
- package/src/vet.ts +209 -504
- package/src/view.ts +0 -507
- package/src/walk.ts +0 -41
- package/dist/std.d.ts +0 -3
- package/dist/std.js +0 -637
- package/dist/std.js.map +0 -1
- package/dist/val/FormFuncVal.js +0 -55
- package/dist/val/FormFuncVal.js.map +0 -1
- package/src/std.ts +0 -648
- package/src/val/FormFuncVal.ts +0 -119
package/dist/val/FuncBaseVal.js
CHANGED
|
@@ -12,16 +12,6 @@ const top_1 = require("./top");
|
|
|
12
12
|
const ConjunctVal_1 = require("../val/ConjunctVal");
|
|
13
13
|
const FeatureVal_1 = require("../val/FeatureVal");
|
|
14
14
|
const PlaceVal_1 = require("../val/PlaceVal");
|
|
15
|
-
// A TRIAL meet: does `a` unify with `b`, and if so as what? Failure is
|
|
16
|
-
// an ANSWER here rather than an error, which is exactly what
|
|
17
|
-
// DisjunctVal already needs when it tries each member against a peer —
|
|
18
|
-
// so this is that mechanism (`ctx._trialMode`, which makes makeNilErr
|
|
19
|
-
// return the shared TRIAL_NIL instead of allocating and recording),
|
|
20
|
-
// lent to the combinators that select by unifiability.
|
|
21
|
-
//
|
|
22
|
-
// The error list and the trial flag are saved and restored in a
|
|
23
|
-
// `finally`: a trial that throws must not leave the surrounding
|
|
24
|
-
// evaluation collapsing every later error into the sentinel.
|
|
25
15
|
function trialUnify(ctx, a, b) {
|
|
26
16
|
const savedErr = ctx.err;
|
|
27
17
|
const savedTrial = ctx._trialMode;
|
|
@@ -59,20 +49,12 @@ class FuncBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
59
49
|
constructor(spec, ctx) {
|
|
60
50
|
super(spec, ctx);
|
|
61
51
|
this.isFunc = true;
|
|
52
|
+
this.forgives = false;
|
|
62
53
|
this.isGenable = true;
|
|
63
|
-
// THE STAGING RULE (G8 phase 0, see AontuContext.settle). A func
|
|
64
|
-
// whose answer depends on WHERE IT IS -- `key()`, whose answer is a
|
|
65
|
-
// segment of its own path, and the generation combinators, whose
|
|
66
|
-
// data argument can still be merged into by a sibling -- sets this
|
|
67
|
-
// and residuates until the model stops moving. Everything else
|
|
68
|
-
// resolves as soon as its arguments are done, which is the rule that
|
|
69
|
-
// has always been here.
|
|
70
54
|
this.staged = false;
|
|
71
|
-
// console.log('FBV', this.id, this.constructor.name, this.peg?.[0]?.canon)
|
|
72
55
|
}
|
|
73
56
|
validateArgs(args, min) {
|
|
74
57
|
if (min < args.length) {
|
|
75
|
-
// TODO: this is an error as as a parse error, needs to be handled same way
|
|
76
58
|
throw new err_1.AontuError('The ' + this.funcname() + ' function needs at least ' +
|
|
77
59
|
min + ' argument' + (1 === min ? '' : 's') + '.');
|
|
78
60
|
}
|
|
@@ -80,27 +62,9 @@ class FuncBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
80
62
|
make(ctx, _spec) {
|
|
81
63
|
return (0, err_1.makeNilErr)(ctx, 'func:' + this.funcname(), this, undefined, 'make');
|
|
82
64
|
}
|
|
83
|
-
// Drive the first `count` arguments IN PLACE, every pass — not only
|
|
84
|
-
// on the settle pass. A staged func waits for the model to settle,
|
|
85
|
-
// and its own arguments are part of that model: leaving them
|
|
86
|
-
// standing until settle would guarantee the model was still moving
|
|
87
|
-
// when settle arrived. Answers whether they are all done, which is
|
|
88
|
-
// the other half of "ready to fire".
|
|
89
65
|
driveStagedArgs(ctx, count) {
|
|
90
66
|
const TOP = (0, top_1.top)();
|
|
91
67
|
let alldone = true;
|
|
92
|
-
// THE SNAPSHOT WAITS FOR THE SOURCE (the spread-then-pack defect,
|
|
93
|
-
// use-cases/BUGS.md pack-refs family). A reference resolving inside
|
|
94
|
-
// a staged argument is this argument's SNAPSHOT of its source, and
|
|
95
|
-
// the snapshot is not part of the tree: a spread-injected relative
|
|
96
|
-
// reference inside a too-early copy dangles at the argument's
|
|
97
|
-
// location (`.containerPort` rebased under the generator, where no
|
|
98
|
-
// root traversal reaches it) and the generator never fires. The
|
|
99
|
-
// `argsnap` flag makes RefVal.find defer until the target has
|
|
100
|
-
// finished resolving IN THE TREE — where its own spreads and
|
|
101
|
-
// relative references answer at their real location — and only then
|
|
102
|
-
// take the copy. Inherited by every descended ctx, so a reference
|
|
103
|
-
// anywhere in the argument subtree waits the same way.
|
|
104
68
|
const actx = ctx.clone({});
|
|
105
69
|
actx.argsnap = true;
|
|
106
70
|
for (let i = 0; i < count && i < this.peg.length; i++) {
|
|
@@ -114,45 +78,13 @@ class FuncBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
114
78
|
}
|
|
115
79
|
return alldone;
|
|
116
80
|
}
|
|
117
|
-
// THE STAGED READINESS GATE, stated once for the generators that
|
|
118
|
-
// drive their own data argument. Such a func fires when the model
|
|
119
|
-
// has settled AND that argument is done -- EXCEPT when the argument
|
|
120
|
-
// is a HOLE and a PEER has arrived to fill it. `_` is never done: it
|
|
121
|
-
// is FILLED, and the peer is what fills it, so gating on doneness
|
|
122
|
-
// alone held every placeheld generator residual for ever and the
|
|
123
|
-
// fill in `unify` below was never reached (`["a"] & pack(_, {x:1})`
|
|
124
|
-
// was `*_no_gen`, while the unstaged `"hello" & upper(_)` filled as
|
|
125
|
-
// documented -- an undriven `_` makes an ordinary call's `pegdone`
|
|
126
|
-
// false, and a generator's prepare() forces it true). Against TOP
|
|
127
|
-
// there is nothing to fill with, so a placeheld generator waits
|
|
128
|
-
// exactly as the hole itself does.
|
|
129
81
|
stagedReady(peer, ctx, count) {
|
|
130
82
|
const ready = this.driveStagedArgs(ctx, count);
|
|
131
83
|
return (ready || (!peer.isTop && (0, PlaceVal_1.hasPlace)(this))) && true === ctx.settle;
|
|
132
84
|
}
|
|
133
|
-
// THE PER-DESTINATION INSTANTIATION RULE (ADR-005). The default
|
|
134
|
-
// clone shares the argument array AND the argument Vals — the
|
|
135
|
-
// residuation clone, which stays at one position and wants the
|
|
136
|
-
// sharing, and the reference copy of a target that still holds a
|
|
137
|
-
// staged call, which pins the move()/copy() ghost artifacts
|
|
138
|
-
// (test/spec/func.tsv, ghost-*-innard-canon; ADR-025) — but a clone
|
|
139
|
-
// that is an INSTANCE must own the full inner structure: with the
|
|
140
|
-
// args shared, `pack($.names, close({name: key()}))` resolved key()
|
|
141
|
-
// once inside the one shared inner map and stamped the FIRST
|
|
142
|
-
// child's key on every child (use-cases/BUGS.md §8). The `dup` spec
|
|
143
|
-
// flag asks for that depth; everything else keeps the sharing it
|
|
144
|
-
// has always had.
|
|
145
85
|
clone(ctx, spec) {
|
|
146
86
|
const out = super.clone(ctx, spec);
|
|
147
87
|
if (true === spec?.dup && Array.isArray(this.peg)) {
|
|
148
|
-
// Every argument is a Val by construction (the parser builds
|
|
149
|
-
// them; make() rebuilds from driven Vals), as the Go twin's
|
|
150
|
-
// []Val typing states outright. The generator and spread
|
|
151
|
-
// instantiation sites then normalise every path in the clone
|
|
152
|
-
// (repathInstance), so the argument-shaped parse paths never
|
|
153
|
-
// leak into an instance; the reference copy takes the paths
|
|
154
|
-
// this rebasing gives, which is what an absolute address in a
|
|
155
|
-
// copied model already expects (ADR-014).
|
|
156
88
|
out.peg = this.peg.map((a) => a.clone(ctx, { dup: true }));
|
|
157
89
|
}
|
|
158
90
|
return out;
|
|
@@ -184,16 +116,7 @@ class FuncBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
184
116
|
if (this.staged && !ctx.settle) {
|
|
185
117
|
return this.residuate(peer, ctx);
|
|
186
118
|
}
|
|
187
|
-
// THE PLACEHOLDER (G8 phase 3, see PlaceVal). A call holding a hole
|
|
188
|
-
// waits for a peer, and the peer is what fills it: the call is
|
|
189
|
-
// rebuilt with the hole replaced and resolved on the spot, so
|
|
190
|
-
// `upper(_) & hello` is `"HELLO"` and not `"HELLO" & "hello"` --
|
|
191
|
-
// the peer went INTO the call, it is not also a constraint on the
|
|
192
|
-
// way out.
|
|
193
119
|
if (!peer.isTop && !peer.isNil && this.id !== peer.id && (0, PlaceVal_1.hasPlace)(this)) {
|
|
194
|
-
// TWO HOLES AND NOTHING TO FILL THEM. `upper(_) & lower(_)` has
|
|
195
|
-
// no value on either side, and picking one call to be the other's
|
|
196
|
-
// filling would be inventing an order the language does not have.
|
|
197
120
|
if ((0, PlaceVal_1.hasPlace)(peer)) {
|
|
198
121
|
return (0, err_1.makeNilErr)(ctx, 'place_pair', this, peer);
|
|
199
122
|
}
|
|
@@ -201,11 +124,8 @@ class FuncBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
201
124
|
}
|
|
202
125
|
const TOP = (0, top_1.top)();
|
|
203
126
|
const te = ctx.explain && (0, utility_1.explainOpen)(ctx, ctx.explain, 'Func:' + this.funcname(), this, peer);
|
|
204
|
-
// const sc = this.id + '=' + this.canon
|
|
205
|
-
// const pc = peer.id + '=' + peer.canon
|
|
206
127
|
let why = '';
|
|
207
128
|
let out = this;
|
|
208
|
-
// console.log('FBV', this.id, this.constructor.name, this.mark.type, this.peg?.canon, 'PEER', peer.id, peer.canon)
|
|
209
129
|
let pegdone = true;
|
|
210
130
|
if (this.id !== peer.id) {
|
|
211
131
|
if (peer.isTop && (this.mark.type || this.mark.hide)) {
|
|
@@ -223,19 +143,12 @@ class FuncBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
223
143
|
else {
|
|
224
144
|
this.peg = pegprep;
|
|
225
145
|
for (let arg of this.peg) {
|
|
226
|
-
// console.log('FUNCBASE-UNIFY-PEG-A', arg.canon)
|
|
227
146
|
let newarg = arg;
|
|
228
147
|
if (!arg.done) {
|
|
229
|
-
// Charged to the depth budget: this recurses without going
|
|
230
|
-
// through `unite`, so the counter would otherwise stay flat
|
|
231
|
-
// while the stack grows (see withDepth in unify.ts). The
|
|
232
|
-
// arg context is built OUTSIDE the closure so its explain
|
|
233
|
-
// ternary stays one branch rather than one per call.
|
|
234
148
|
const argctx = te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'ARG') }) : ctx;
|
|
235
149
|
newarg = (0, unify_1.withDepth)(ctx, arg, TOP, () => arg.unify(TOP, argctx));
|
|
236
150
|
newtype = newtype || newarg.mark.type;
|
|
237
151
|
newhide = newhide || newarg.mark.hide;
|
|
238
|
-
// console.log('FUNCBASE-UNIFY-PEG-B', arg.canon, arg.done, '->', newarg.canon, newarg.done)
|
|
239
152
|
}
|
|
240
153
|
// pegdone &&= arg.done
|
|
241
154
|
pegdone &&= newarg.done;
|
|
@@ -243,31 +156,24 @@ class FuncBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
243
156
|
}
|
|
244
157
|
}
|
|
245
158
|
// console.log('FUNCBASE-PEG', this.id, pegdone, this.peg.map((p: any) => p?.canon))
|
|
246
|
-
|
|
159
|
+
// ABSENCE PROPAGATES (ADR-034), ahead of deferResolve.
|
|
160
|
+
const gone = this.forgives ? undefined :
|
|
161
|
+
newpeg.find((a) => true === a.isAbsent);
|
|
162
|
+
if (pegdone &&
|
|
163
|
+
(undefined !== gone || !this.deferResolve(ctx, newpeg))) {
|
|
247
164
|
// THE SIGNATURE GATE (docs/design/SIGNATURES.0.md): the
|
|
248
165
|
// driven arguments against the declared signature, before
|
|
249
166
|
// the builtin's own logic sees them. See siggate.ts for
|
|
250
167
|
// what the gate owns and what stays with the builtins.
|
|
251
|
-
const resolved = (0, siggate_1.sigRefuse)(ctx, this, newpeg) ??
|
|
168
|
+
const resolved = gone ?? (0, siggate_1.sigRefuse)(ctx, this, newpeg) ??
|
|
252
169
|
this.resolve(ctx, newpeg);
|
|
253
|
-
// console.log('FUNC-RESOLVED', ctx.cc, resolved?.canon)
|
|
254
170
|
// The TOP peer is DROPPED as the unit it is.
|
|
255
171
|
out = resolved.done && peer.isTop ? resolved :
|
|
256
172
|
(0, unify_1.unite)(te ? ctx.clone({ explain: (0, utility_1.ec)(te, 'PEG') }) : ctx, resolved, peer, 'func-' + this.funcname() + '/' + this.id);
|
|
257
173
|
(0, utility_1.propagateMarks)(this, out);
|
|
258
|
-
// TODO: make should handle this using ctx?
|
|
259
174
|
out.site.row = this.site.row;
|
|
260
175
|
out.site.col = this.site.col;
|
|
261
176
|
out.site.url = this.site.url;
|
|
262
|
-
// THE SPAN COMES WITH THE POSITION, always. Moving row and
|
|
263
|
-
// col onto the result while leaving its own text behind
|
|
264
|
-
// produced a site that contradicted itself: `close({...})`
|
|
265
|
-
// reported the call's column and the map's `{`, so reading
|
|
266
|
-
// the document at (row, col, len) found `c` where `src` said
|
|
267
|
-
// `{`. A consumer following the verification contract would
|
|
268
|
-
// refuse every such repair; one skipping it would edit the
|
|
269
|
-
// wrong token. Whatever the position names, the text names
|
|
270
|
-
// too. Twin: the same assignment in go/func.go.
|
|
271
177
|
out.site.len = this.site.len;
|
|
272
178
|
out.site.src = this.site.src;
|
|
273
179
|
out.path = this.path;
|
|
@@ -276,19 +182,9 @@ class FuncBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
276
182
|
else if (peer.isTop) {
|
|
277
183
|
this.notdone();
|
|
278
184
|
out = this.make(ctx, { peg: newpeg, mark: { type: newtype, hide: newhide } });
|
|
279
|
-
// TODO: make should handle this using ctx?
|
|
280
185
|
out.site.row = this.site.row;
|
|
281
186
|
out.site.col = this.site.col;
|
|
282
187
|
out.site.url = this.site.url;
|
|
283
|
-
// THE SPAN COMES WITH THE POSITION, always. Moving row and
|
|
284
|
-
// col onto the result while leaving its own text behind
|
|
285
|
-
// produced a site that contradicted itself: `close({...})`
|
|
286
|
-
// reported the call's column and the map's `{`, so reading
|
|
287
|
-
// the document at (row, col, len) found `c` where `src` said
|
|
288
|
-
// `{`. A consumer following the verification contract would
|
|
289
|
-
// refuse every such repair; one skipping it would edit the
|
|
290
|
-
// wrong token. Whatever the position names, the text names
|
|
291
|
-
// too. Twin: the same assignment in go/func.go.
|
|
292
188
|
out.site.len = this.site.len;
|
|
293
189
|
out.site.src = this.site.src;
|
|
294
190
|
out.path = this.path;
|
|
@@ -304,19 +200,9 @@ class FuncBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
304
200
|
out = new ConjunctVal_1.ConjunctVal({
|
|
305
201
|
peg: [this, peer], mark: { type: newtype, hide: newhide }
|
|
306
202
|
}, ctx);
|
|
307
|
-
// TODO: make should handle this using ctx?
|
|
308
203
|
out.site.row = this.site.row;
|
|
309
204
|
out.site.col = this.site.col;
|
|
310
205
|
out.site.url = this.site.url;
|
|
311
|
-
// THE SPAN COMES WITH THE POSITION, always. Moving row and
|
|
312
|
-
// col onto the result while leaving its own text behind
|
|
313
|
-
// produced a site that contradicted itself: `close({...})`
|
|
314
|
-
// reported the call's column and the map's `{`, so reading
|
|
315
|
-
// the document at (row, col, len) found `c` where `src` said
|
|
316
|
-
// `{`. A consumer following the verification contract would
|
|
317
|
-
// refuse every such repair; one skipping it would edit the
|
|
318
|
-
// wrong token. Whatever the position names, the text names
|
|
319
|
-
// too. Twin: the same assignment in go/func.go.
|
|
320
206
|
out.site.len = this.site.len;
|
|
321
207
|
out.site.src = this.site.src;
|
|
322
208
|
out.path = this.path;
|
|
@@ -344,12 +230,6 @@ class FuncBaseVal extends FeatureVal_1.FeatureVal {
|
|
|
344
230
|
resolve(ctx, _args) {
|
|
345
231
|
return (0, err_1.makeNilErr)(ctx, 'func:' + this.funcname(), this, undefined, 'resolve');
|
|
346
232
|
}
|
|
347
|
-
// A function may hold its resolution for a later pass even with its
|
|
348
|
-
// arguments settled -- it then rides the ordinary args-not-done
|
|
349
|
-
// path, residuating as any unresolved call does. super() defers on a
|
|
350
|
-
// recursion residual argument (SuperFuncVal), which is why the DRIVEN
|
|
351
|
-
// arguments are passed: this.peg still holds the undriven originals
|
|
352
|
-
// at the decision point.
|
|
353
233
|
deferResolve(_ctx, _args) {
|
|
354
234
|
return false;
|
|
355
235
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"FuncBaseVal.js","sourceRoot":"","sources":["../../src/val/FuncBaseVal.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"FuncBaseVal.js","sourceRoot":"","sources":["../../src/val/FuncBaseVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;QA4UvD,UAAU;AApUZ,kCAEgB;AAGhB,oCAA2C;AAG3C,wCAKmB;AAEnB,gCAA+C;AAC/C,wCAAsC;AAEtC,+BAEc;AAEd,oDAAgD;AAChD,kDAA8C;AAC9C,8CAAqD;AAGrD,SAAS,UAAU,CAAC,GAAiB,EAAE,CAAM,EAAE,CAAM;IACnD,MAAM,QAAQ,GAAG,GAAG,CAAC,GAAG,CAAA;IACxB,MAAM,UAAU,GAAG,GAAG,CAAC,UAAU,CAAA;IACjC,iEAAiE;IACjE,gEAAgE;IAChE,iEAAiE;IACjE,qEAAqE;IACrE,0DAA0D;IAC1D,MAAM,MAAM,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;IAC/D,MAAM,QAAQ,GAAG,MAAM,CAAC,SAAS,CAAC,cAAc,CAAC,IAAI,CAAC,GAAG,EAAE,YAAY,CAAC,CAAA;IACxE,MAAM,QAAQ,GAAU,EAAE,CAAA;IAE1B,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAA;IAClB,GAAG,CAAC,UAAU,GAAG,IAAI,CAAA;IAErB,IAAI,GAAQ,CAAA;IACZ,IAAI,CAAC;QACH,GAAG,GAAG,IAAA,aAAK,EAAC,GAAG,EAAE,CAAC,EAAE,CAAC,EAAE,OAAO,CAAC,CAAA;IACjC,CAAC;YACO,CAAC;QACP,IAAI,MAAM,EAAE,CAAC;YACX,GAAG,CAAC,GAAG,GAAG,QAAQ,CAAA;QACpB,CAAC;aACI,CAAC;YACJ,OAAQ,GAAW,CAAC,GAAG,CAAA;QACzB,CAAC;QACD,IAAI,QAAQ,EAAE,CAAC;YACb,GAAG,CAAC,UAAU,GAAG,UAAU,CAAA;QAC7B,CAAC;aACI,CAAC;YACJ,OAAQ,GAAW,CAAC,UAAU,CAAA;QAChC,CAAC;IACH,CAAC;IAED,OAAO,CAAC,GAAG,QAAQ,CAAC,MAAM,IAAI,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,CAAA;AAC3D,CAAC;AAGD,MAAM,WAAY,SAAQ,uBAAU;IAQlC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAXlB,WAAM,GAAG,IAAI,CAAA;QAEb,aAAQ,GAAG,KAAK,CAAA;QAChB,cAAS,GAAG,IAAI,CAAA;QAEhB,WAAM,GAAG,KAAK,CAAA;IAOd,CAAC;IAGD,YAAY,CAAC,IAAW,EAAE,GAAW;QACnC,IAAI,GAAG,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;YACtB,MAAM,IAAI,gBAAU,CAAC,MAAM,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,2BAA2B;gBACzE,GAAG,GAAG,WAAW,GAAG,CAAC,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,GAAG,CAAC,CAAA;QACrD,CAAC;IACH,CAAC;IAGD,IAAI,CAAC,GAAiB,EAAE,KAAc;QACpC,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,CAAC,CAAA;IAC5E,CAAC;IAGD,eAAe,CAAC,GAAiB,EAAE,KAAa;QAC9C,MAAM,GAAG,GAAG,IAAA,SAAG,GAAE,CAAA;QACjB,IAAI,OAAO,GAAG,IAAI,CAAA;QAElB,MAAM,IAAI,GAAiB,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CACvC;QAAE,IAAY,CAAC,OAAO,GAAG,IAAI,CAAA;QAE9B,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC;YACtD,MAAM,GAAG,GAAQ,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAA;YAC5B,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;gBACd,iEAAiE;gBACjE,+CAA+C;gBAC/C,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,IAAA,iBAAS,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAC,CAAC,CAAA;YACpE,CAAC;YACD,OAAO,GAAG,OAAO,IAAI,IAAI,KAAK,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAA;QAChD,CAAC;QAED,OAAO,OAAO,CAAA;IAChB,CAAC;IAGD,WAAW,CAAC,IAAS,EAAE,GAAiB,EAAE,KAAa;QACrD,MAAM,KAAK,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,KAAK,CAAC,CAAA;QAC9C,OAAO,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,IAAA,mBAAQ,EAAC,IAAI,CAAC,CAAC,CAAC,IAAI,IAAI,KAAK,GAAG,CAAC,MAAM,CAAA;IAC1E,CAAC;IAGD,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,MAAM,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAgB,CAAA;QACjD,IAAI,IAAI,KAAK,IAAI,EAAE,GAAG,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAClD,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,CAAA;QACjE,CAAC;QACD,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,sEAAsE;IACtE,sEAAsE;IACtE,mEAAmE;IACnE,uEAAuE;IACvE,SAAS,CAAC,IAAS,EAAE,GAAiB;QACpC,IAAI,CAAC,OAAO,EAAE,CAAA;QAEd,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,EAAE,CAAC;YACxC,iEAAiE;YACjE,+DAA+D;YAC/D,iBAAiB;YACjB,OAAO,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;QACxB,CAAC;QAED,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;YACf,OAAO,IAAI,CAAA;QACb,CAAC;QAED,IAAI,IAAI,CAAC,MAAM;eACT,IAAY,CAAC,QAAQ,EAAE,KAAK,IAAI,CAAC,QAAQ,EAAE;eAC5C,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC;eAC3C,IAAI,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAA;QACb,CAAC;QAED,OAAO,IAAI,yBAAW,CAAC,EAAE,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAA;IACpD,CAAC;IAGD,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,IAAI,IAAI,CAAC,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,EAAE,CAAC;YAC/B,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAClC,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,IAAI,IAAA,mBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;YACxE,IAAI,IAAA,mBAAQ,EAAC,IAAI,CAAC,EAAE,CAAC;gBACnB,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,YAAY,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YAClD,CAAC;YACD,OAAO,IAAA,oBAAS,EAAC,IAAI,EAAE,IAAI,EAAE,GAAG,CAAC,CAAC,KAAK,CAAC,IAAA,SAAG,GAAE,EAAE,GAAG,CAAC,CAAA;QACrD,CAAC;QAED,MAAM,GAAG,GAAG,IAAA,SAAG,GAAE,CAAA;QACjB,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAG9F,IAAI,GAAG,GAAG,EAAE,CAAA;QACZ,IAAI,GAAG,GAAQ,IAAI,CAAA;QAGnB,IAAI,OAAO,GAAG,IAAI,CAAA;QAElB,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,EAAE,CAAC;YAExB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC;gBACrD,IAAI,CAAC,EAAE,GAAG,WAAI,CAAA;YAChB,CAAC;iBAEI,CAAC;gBAEJ,IAAI,MAAM,GAAU,EAAE,CAAA;gBACtB,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;gBAC5B,IAAI,OAAO,GAAG,IAAI,CAAC,IAAI,CAAC,IAAI,CAAA;gBAE5B,IAAI,OAAO,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,IAAI,CAAC,GAAG,CAAC,CAAA;gBAEzC,IAAI,IAAI,KAAK,OAAO,EAAE,CAAC;oBACrB,OAAO,GAAG,IAAI,CAAA;oBACd,MAAM,GAAG,IAAI,CAAC,GAAG,CAAA;gBACnB,CAAC;qBACI,CAAC;oBACJ,IAAI,CAAC,GAAG,GAAG,OAAO,CAAA;oBAElB,KAAK,IAAI,GAAG,IAAI,IAAI,CAAC,GAAG,EAAE,CAAC;wBAEzB,IAAI,MAAM,GAAG,GAAG,CAAA;wBAChB,IAAI,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;4BACd,MAAM,MAAM,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAA;4BAC/D,MAAM,GAAG,IAAA,iBAAS,EAAC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,GAAG,CAAC,KAAK,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,CAAA;4BAC/D,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA;4BACrC,OAAO,GAAG,OAAO,IAAI,MAAM,CAAC,IAAI,CAAC,IAAI,CAAA;wBACvC,CAAC;wBACD,uBAAuB;wBACvB,OAAO,KAAK,MAAM,CAAC,IAAI,CAAA;wBACvB,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAA;oBACrB,CAAC;gBACH,CAAC;gBAED,oFAAoF;gBAEpF,uDAAuD;gBACvD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;oBACtC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,IAAI,KAAM,CAAS,CAAC,QAAQ,CAAC,CAAA;gBAEvD,IAAI,OAAO;oBACT,CAAC,SAAS,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,YAAY,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC,EAAE,CAAC;oBAC1D,wDAAwD;oBACxD,0DAA0D;oBAC1D,wDAAwD;oBACxD,uDAAuD;oBACvD,MAAM,QAAQ,GAAG,IAAI,IAAI,IAAA,mBAAS,EAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC;wBACnD,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,MAAM,CAAC,CAAA;oBAE3B,6CAA6C;oBAC7C,GAAG,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC;wBAC5C,IAAA,aAAK,EAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,EACpD,QAAQ,EAAE,IAAI,EAAE,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,IAAI,CAAC,EAAE,CAAC,CAAA;oBAC9D,IAAA,wBAAc,EAAC,IAAI,EAAE,GAAG,CAAC,CAAA;oBAEzB,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;oBAEpB,GAAG,IAAI,SAAS,CAAA;gBAClB,CAAC;qBACI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACpB,IAAI,CAAC,OAAO,EAAE,CAAA;oBACd,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,CAAC,CAAA;oBAE7E,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;oBAEpB,GAAG,IAAI,KAAK,CAAA;gBACd,CAAC;qBACI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;oBACpB,IAAI,CAAC,OAAO,EAAE,CAAA;oBACd,GAAG,GAAG,IAAI,CAAA;oBACV,GAAG,IAAI,KAAK,CAAA;gBACd,CAAC;qBACI,CAAC;oBACJ,IAAI,CAAC,OAAO,EAAE,CAAA;oBACd,GAAG,GAAG,IAAI,yBAAW,CAAC;wBACpB,GAAG,EAAE,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE,IAAI,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;qBAC1D,EAAE,GAAG,CAAC,CAAA;oBAEP,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAA;oBAC5B,GAAG,CAAC,IAAI,GAAG,IAAI,CAAC,IAAI,CAAA;oBAEpB,GAAG,IAAI,OAAO,CAAA;gBAChB,CAAC;YACH,CAAC;QACH,CAAC;QAED,8JAA8J;QAE9J,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAErB,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,IAAI,KAAK;QACP,OAAO,EAAE;YACP,gCAAgC;YAChC,gCAAgC;YAChC,oBAAoB;YACpB,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,GAAG,CAAA;IAC/E,CAAC;IAGD,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,OAAO,CAAC,IAAkB,EAAE,IAAW;QACrC,OAAO,IAAI,CAAA;IACb,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,KAAY;QACrC,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,SAAS,CAAC,CAAA;IAC/E,CAAC;IAGD,YAAY,CAAC,IAAkB,EAAE,KAAa;QAC5C,OAAO,KAAK,CAAA;IACd,CAAC;CAGF,CAAC,iCAAiC;QAKjC,WAAW"}
|
package/dist/val/GraphAtomVal.js
CHANGED
|
@@ -22,9 +22,6 @@ class GraphAtomVal extends FeatureVal_1.FeatureVal {
|
|
|
22
22
|
this.akind = spec.akind ?? 'acyclic';
|
|
23
23
|
this.invname = spec.invname;
|
|
24
24
|
this.held = spec.held;
|
|
25
|
-
// A settled residual, like an unmet rel(): the bare atom is its
|
|
26
|
-
// own value, and a type() body carrying one must settle. Holding
|
|
27
|
-
// an unsettled value, it is exactly as done as the value.
|
|
28
25
|
this.dc = undefined === this.held || true === this.held.done
|
|
29
26
|
? type_1.DONE : 0;
|
|
30
27
|
}
|
|
@@ -36,7 +33,6 @@ class GraphAtomVal extends FeatureVal_1.FeatureVal {
|
|
|
36
33
|
out.dc = this.dc;
|
|
37
34
|
return out;
|
|
38
35
|
}
|
|
39
|
-
// A rebuilt atom around a new held, at this atom's position.
|
|
40
36
|
carry(ctx, held) {
|
|
41
37
|
const out = new GraphAtomVal({ akind: this.akind, invname: this.invname, held }, ctx);
|
|
42
38
|
(0, utility_1.propagateMarks)(this, out);
|
|
@@ -44,12 +40,6 @@ class GraphAtomVal extends FeatureVal_1.FeatureVal {
|
|
|
44
40
|
out.path = this.path;
|
|
45
41
|
return out;
|
|
46
42
|
}
|
|
47
|
-
// The predicate is the key the atom sits on -- and a predicate is a
|
|
48
|
-
// D-1 NAME, by exactly fieldkey's rule: an atom landed anywhere
|
|
49
|
-
// else declares nothing. Registration is idempotent (the
|
|
50
|
-
// declaration set is a set) and happens at every drive, so
|
|
51
|
-
// whichever pass first sees the atom at its landed position records
|
|
52
|
-
// it.
|
|
53
43
|
register(ctx) {
|
|
54
44
|
const seg = this.path[this.path.length - 1];
|
|
55
45
|
if ('string' !== typeof seg || !GRAPH_ATOM_NAME.test(seg)) {
|
|
@@ -85,11 +75,6 @@ class GraphAtomVal extends FeatureVal_1.FeatureVal {
|
|
|
85
75
|
this.dc = type_1.DONE;
|
|
86
76
|
return this;
|
|
87
77
|
}
|
|
88
|
-
// The self-drive refines IN PLACE (the MapVal top-peer
|
|
89
|
-
// pattern): a fresh atom per pass changes object identity, so
|
|
90
|
-
// spread apply-once stamps and the entity merge's fast paths
|
|
91
|
-
// stop holding, and the enclosing bags re-open every pass --
|
|
92
|
-
// the service catalog never converged.
|
|
93
78
|
const held = (0, unify_1.unite)(ctx, this.held, undefined, 'atom-drive');
|
|
94
79
|
if (true === held.isNil) {
|
|
95
80
|
return held;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"GraphAtomVal.js","sourceRoot":"","sources":["../../src/val/GraphAtomVal.ts"],"names":[],"mappings":";AAAA,oDAAoD;;;;
|
|
1
|
+
{"version":3,"file":"GraphAtomVal.js","sourceRoot":"","sources":["../../src/val/GraphAtomVal.ts"],"names":[],"mappings":"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"}
|
package/dist/val/HideFuncVal.js
CHANGED
|
@@ -19,19 +19,6 @@ class HideFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
19
19
|
funcname() {
|
|
20
20
|
return 'hide';
|
|
21
21
|
}
|
|
22
|
-
/*
|
|
23
|
-
unify(peer: Val, ctx: AontuContext): Val {
|
|
24
|
-
const te = ctx.explain && explainOpen(ctx, ctx.explain, 'HideFunc', this, peer)
|
|
25
|
-
let out: Val | undefined = this.resolved
|
|
26
|
-
|
|
27
|
-
if (null == out) {
|
|
28
|
-
out = this.resolve(ctx, this.peg)
|
|
29
|
-
}
|
|
30
|
-
|
|
31
|
-
explainClose(te, out)
|
|
32
|
-
return out
|
|
33
|
-
}
|
|
34
|
-
*/
|
|
35
22
|
resolve(ctx, args) {
|
|
36
23
|
let out = args[0] ?? (0, err_1.makeNilErr)(ctx, 'arg', this);
|
|
37
24
|
if (!out.isNil) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HideFuncVal.js","sourceRoot":"","sources":["../../src/val/HideFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAGnC,wCAEmB;AAGnB,+CAA2C;AAG3C,MAAM,WAAY,SAAQ,yBAAW;IAKnC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QARlB,eAAU,GAAG,IAAI,CAAA;QAUf,qCAAqC;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACxB,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD
|
|
1
|
+
{"version":3,"file":"HideFuncVal.js","sourceRoot":"","sources":["../../src/val/HideFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gCAAmC;AAGnC,wCAEmB;AAGnB,+CAA2C;AAG3C,MAAM,WAAY,SAAQ,yBAAW;IAKnC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QARlB,eAAU,GAAG,IAAI,CAAA;QAUf,qCAAqC;QACrC,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;QACtB,IAAI,CAAC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAA;IACxB,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,WAAW,CAAC,IAAI,CAAC,CAAA;IAC9B,CAAC;IAED,QAAQ;QACN,OAAO,MAAM,CAAA;IACf,CAAC;IAGD,OAAO,CAAC,GAAiB,EAAE,IAAW;QACpC,IAAI,GAAG,GAAG,IAAI,CAAC,CAAC,CAAC,IAAI,IAAA,gBAAU,EAAC,GAAG,EAAE,KAAK,EAAE,IAAI,CAAC,CAAA;QACjD,IAAI,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC;YACf,GAAG,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC,CAAA;YAEpB,IAAA,cAAI,EAAC,GAAG,EAAE,CAAC,IAAiC,EAAE,GAAQ,EAAE,EAAE;gBACxD,GAAG,CAAC,IAAI,CAAC,IAAI,GAAG,IAAI,CAAA;gBACpB,OAAO,GAAG,CAAA;YACZ,CAAC,CAAC,CAAA;QACJ,CAAC;QAED,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAC,iCAAiC;QAIjC,WAAW"}
|
package/dist/val/IntegerVal.js
CHANGED
|
@@ -8,69 +8,9 @@ const ScalarKindVal_1 = require("./ScalarKindVal");
|
|
|
8
8
|
const numkind_1 = require("./numkind");
|
|
9
9
|
const utility_1 = require("../utility");
|
|
10
10
|
class IntegerVal extends ScalarVal_1.ScalarVal {
|
|
11
|
-
// Canon renders the EXACT digits of the value, not JavaScript's
|
|
12
|
-
// shortest round-tripping form.
|
|
13
|
-
//
|
|
14
|
-
// A JS number's toString emits the shortest decimal that parses back
|
|
15
|
-
// to the same double — at most 17 significant digits — so 2^60 printed
|
|
16
|
-
// as `1152921504606847000`, a DIFFERENT integer that merely rounds to
|
|
17
|
-
// the same double, while the Go port printed the true
|
|
18
|
-
// `1152921504606846976` from its int64. That was the one entry in the
|
|
19
|
-
// parity ledger (issue #21).
|
|
20
|
-
//
|
|
21
|
-
// Neither rendering was "the wrong number" while lossy literals were
|
|
22
|
-
// still accepted, which is why the ledger deferred to the Phase 6
|
|
23
|
-
// refusal — but Phase 6 refuses INEXACT literals, and every value in
|
|
24
|
-
// this window (2^60, 2^63-1024, …) is exactly representable and so is
|
|
25
|
-
// accepted. The divergence was never about exactness; it was about
|
|
26
|
-
// rendering. Once the value is exactly what the source asked for,
|
|
27
|
-
// there IS a right answer, and it is the exact digits.
|
|
28
|
-
//
|
|
29
|
-
// BigInt is exact here by construction: an IntegerVal's peg is
|
|
30
|
-
// integral and inside the int64 window (isIntegerKind, enforced in the
|
|
31
|
-
// constructor), so the bigint conversion cannot lose anything.
|
|
32
11
|
get canon() {
|
|
33
12
|
return (0, numkind_1.integerDigits)(this.peg);
|
|
34
13
|
}
|
|
35
|
-
// The same exactness in GENERATED output -- the other half of #21, and
|
|
36
|
-
// the half canon cannot reach.
|
|
37
|
-
//
|
|
38
|
-
// `generate()` returns NATIVE values, and the emitter sees only those:
|
|
39
|
-
// by the time exactJSON has a JS number it can no longer tell an
|
|
40
|
-
// integer-kind 2^60 (whose exact digits are the answer) from a
|
|
41
|
-
// float-kind 1e21 (whose shortest form `1e+21` is the answer, and is
|
|
42
|
-
// what Go prints too). The kind has to travel WITH the value, so above
|
|
43
|
-
// the safe-integer range an integer-kind value generates as a `bigint`,
|
|
44
|
-
// which the emitter already writes as exact digits.
|
|
45
|
-
//
|
|
46
|
-
// WHY Number.isSafeInteger IS THE LINE. It is precisely "this double is
|
|
47
|
-
// an integer that renders its own exact digits": inside the range the
|
|
48
|
-
// integers are contiguous, so toString round-trips exactly and a
|
|
49
|
-
// `number` loses nothing. Outside it they are not, and JS itself
|
|
50
|
-
// declares the value untrustworthy -- so handing back a `number` there
|
|
51
|
-
// would give a consumer something that prints wrong AND does
|
|
52
|
-
// arithmetic wrong, silently. A bigint makes both explicit: mixing it
|
|
53
|
-
// with a number throws rather than quietly rounding.
|
|
54
|
-
//
|
|
55
|
-
// The line is deliberately the WELL-KNOWN one rather than the tightest
|
|
56
|
-
// possible one. Some doubles above the range do still render exactly
|
|
57
|
-
// (2^54, say), so a predicate of `BigInt(peg).toString() === String(peg)`
|
|
58
|
-
// would keep marginally more values as `number` -- at the cost of a
|
|
59
|
-
// contract no consumer could evaluate in their head, and of handing
|
|
60
|
-
// back unsafe numbers for arithmetic. "Integers up to
|
|
61
|
-
// Number.MAX_SAFE_INTEGER are numbers; beyond that, bigints" is a rule
|
|
62
|
-
// that can be stated once and relied on.
|
|
63
|
-
//
|
|
64
|
-
// This is a BREAKING change for a consumer reading integers above 2^53
|
|
65
|
-
// out of generate() -- but those were the values that were already
|
|
66
|
-
// silently wrong, and a TypeError on `out.x + 1` is the better failure.
|
|
67
|
-
// Go needs none of this: its integer leaf is an int64, exact across the
|
|
68
|
-
// whole window, and encoding/json writes its digits.
|
|
69
|
-
//
|
|
70
|
-
// The BYTES are unchanged below the line, and the values that cross it
|
|
71
|
-
// with 17 or fewer significant digits (2^53 itself) serialise the same
|
|
72
|
-
// either way -- only their runtime type moves, which is why the `gens`
|
|
73
|
-
// rows cannot see it and ts/test/exactjson.test.ts pins it instead.
|
|
74
14
|
gen(_ctx) {
|
|
75
15
|
const peg = this.peg;
|
|
76
16
|
return Number.isSafeInteger(peg) ? peg : BigInt(peg);
|
|
@@ -84,7 +24,6 @@ class IntegerVal extends ScalarVal_1.ScalarVal {
|
|
|
84
24
|
if (!(0, numkind_1.isIntegerKind)(spec.peg)) {
|
|
85
25
|
throw new err_1.AontuError('not-integer-kind: ' + spec.peg);
|
|
86
26
|
}
|
|
87
|
-
// super({ peg: spec.peg, kind: Integer }, ctx)
|
|
88
27
|
super({ ...spec, kind: ScalarKindVal_1.Integer }, ctx);
|
|
89
28
|
this.isInteger = true;
|
|
90
29
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegerVal.js","sourceRoot":"","sources":["../../src/val/IntegerVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAWzD,gCAA+C;AAE/C,2CAAuC;AACvC,mDAAyC;AACzC,uCAAwD;AAExD,wCAImB;AAGnB,MAAM,UAAW,SAAQ,qBAAS;IAIhC,
|
|
1
|
+
{"version":3,"file":"IntegerVal.js","sourceRoot":"","sources":["../../src/val/IntegerVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAWzD,gCAA+C;AAE/C,2CAAuC;AACvC,mDAAyC;AACzC,uCAAwD;AAExD,wCAImB;AAGnB,MAAM,UAAW,SAAQ,qBAAS;IAIhC,IAAI,KAAK;QACP,OAAO,IAAA,uBAAa,EAAC,IAAI,CAAC,GAAa,CAAC,CAAA;IAC1C,CAAC;IAGD,GAAG,CAAC,IAAmB;QACrB,MAAM,GAAG,GAAG,IAAI,CAAC,GAAa,CAAA;QAC9B,OAAO,MAAM,CAAC,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,CAAA;IACtD,CAAC;IAED,YACE,IAAa,EACb,GAAkB;QAElB,kEAAkE;QAClE,gEAAgE;QAChE,4DAA4D;QAC5D,iEAAiE;QACjE,+DAA+D;QAC/D,IAAI,CAAC,IAAA,uBAAa,EAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC;YAC7B,MAAM,IAAI,gBAAU,CAAC,oBAAoB,GAAG,IAAI,CAAC,GAAG,CAAC,CAAA;QACvD,CAAC;QACD,KAAK,CAAC,EAAE,GAAG,IAAI,EAAE,IAAI,EAAE,uBAAO,EAAE,EAAE,GAAG,CAAC,CAAA;QAzBxC,cAAS,GAAG,IAAI,CAAA;IA0BhB,CAAC;IAED,KAAK,CAAC,IAAS,EAAE,GAAiB;QAChC,MAAM,EAAE,GAAG,GAAG,CAAC,OAAO,IAAI,IAAA,qBAAW,EAAC,GAAG,EAAE,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;QAE9E,IAAI,GAAG,GAAQ,IAAI,CAAA;QAEnB,IAAI,IAAI,IAAI,IAAI,EAAE,CAAC;YACjB,IAAI,IAAI,CAAC,YAAY,IAAK,IAAY,CAAC,YAAY,EAAE,CAAC;gBACpD,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,OAAO,EAAE,IAAA,YAAE,EAAC,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAA;YAC1E,CAAC;iBACI,IACH,IAAI,CAAC,QAAQ;gBACb,IAAI,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI;gBACvB,IAAI,CAAC,GAAG,KAAK,IAAI,CAAC,GAAG,EACrB,CAAC;gBACD,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,IAAI,IAAI,CAAC,KAAK,EAAE,CAAC;gBACpB,GAAG,GAAG,IAAI,CAAA;YACZ,CAAC;iBACI,CAAC;gBACJ,GAAG,GAAG,IAAA,gBAAU,EAAC,GAAG,EAAE,SAAS;oBAC7B,CAAE,IAAY,CAAC,IAAI,KAAK,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;aACI,CAAC;YACJ,GAAG,GAAG,KAAK,CAAC,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QAC9B,CAAC;QAED,IAAA,sBAAY,EAAC,EAAE,EAAE,GAAG,CAAC,CAAA;QAErB,OAAO,GAAG,CAAA;IACZ,CAAC;CACF,CAAC,iCAAiC;QAIjC,UAAU"}
|
package/dist/val/JunctionVal.js
CHANGED
|
@@ -17,26 +17,6 @@ class JunctionVal extends FeatureVal_1.FeatureVal {
|
|
|
17
17
|
}
|
|
18
18
|
clone(ctx, spec) {
|
|
19
19
|
let out = super.clone(ctx, spec);
|
|
20
|
-
// A JUNCTION'S MEMBERS SIT AT THE JUNCTION'S OWN POSITION. That is
|
|
21
|
-
// the rule `repathInstance` (Val.ts) states for the instance walk
|
|
22
|
-
// -- a conjunct's members occupy the conjunct's position, which is
|
|
23
|
-
// what `A & B` means -- and it holds for every clone, not only for
|
|
24
|
-
// marked ones.
|
|
25
|
-
//
|
|
26
|
-
// Val.clone's ctx cut cannot derive it: MapVal.clone hands a child
|
|
27
|
-
// its path through the SPEC rather than by descending the ctx, so
|
|
28
|
-
// a member left to the cut takes the DRIVING context's path -- the
|
|
29
|
-
// map's -- and loses the field key it sits under. A conjunct
|
|
30
|
-
// member reached through a reference into a position at least as
|
|
31
|
-
// deep as its definition then carried the entity's path, and every
|
|
32
|
-
// reader of `Val.path` was told the wrong position: a rel()-minted
|
|
33
|
-
// link took the ENTITY's key as its predicate, so `inverse(n)`
|
|
34
|
-
// looked for a mirror under a relation nobody declared and
|
|
35
|
-
// reported a written mirror missing.
|
|
36
|
-
//
|
|
37
|
-
// The instantiation flag still descends with the mark (ADR-005).
|
|
38
|
-
// Go states the same invariant directly (go/clone.go, cloneAt), so
|
|
39
|
-
// this restores parity rather than inventing a behaviour.
|
|
40
20
|
const childspec = spec?.mark || spec?.dup ?
|
|
41
21
|
{ mark: spec?.mark, dup: spec?.dup, path: out.path }
|
|
42
22
|
: { path: out.path };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"JunctionVal.js","sourceRoot":"","sources":["../../src/val/JunctionVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,6CAAyC;AAGzC,iFAAiF;AACjF,gCAAgC;AAChC,MAAe,WAAY,SAAQ,uBAAU;IAG3C,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,eAAU,GAAG,IAAI,CAAA;IAOjB,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,IAAS;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,IAAI,GAAG,GAAI,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAiB,CAAA;QACjD,
|
|
1
|
+
{"version":3,"file":"JunctionVal.js","sourceRoot":"","sources":["../../src/val/JunctionVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,6CAAyC;AAGzC,iFAAiF;AACjF,gCAAgC;AAChC,MAAe,WAAY,SAAQ,uBAAU;IAG3C,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,eAAU,GAAG,IAAI,CAAA;IAOjB,CAAC;IAED,kBAAkB;IAClB,MAAM,CAAC,IAAS;QACd,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAA;QACnB,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,GAAiB,EAAE,IAAc;QACrC,IAAI,GAAG,GAAI,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,IAAI,CAAiB,CAAA;QACjD,MAAM,SAAS,GAAQ,IAAI,EAAE,IAAI,IAAI,IAAI,EAAE,GAAG,CAAC,CAAC;YAC9C,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE;YACpD,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,IAAI,EAAE,CAAA;QACtB,GAAG,CAAC,GAAG,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,KAAU,EAAE,EAAE,CAAC,KAAK,CAAC,KAAK,CAAC,GAAG,EAAE,SAAS,CAAC,CAAC,CAAA;QACnE,OAAO,GAAG,CAAA;IACZ,CAAC;IAED,IAAI,KAAK;QACP,OAAO,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,CAAM,EAAE,EAAE;YAC7B,OAAQ,CAAS,CAAC,UAAU,IAAI,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;gBACxE,GAAG,GAAG,CAAC,CAAC,KAAK,GAAG,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAA,CAAC,uBAAuB;QACzD,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,CAAC,CAAA,CAAC,4CAA4C;IAChF,CAAC;CAIF,CAAC,iCAAiC;QAIjC,WAAW"}
|
package/dist/val/KeyFuncVal.js
CHANGED
|
@@ -9,14 +9,7 @@ class KeyFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
9
9
|
constructor(spec, ctx) {
|
|
10
10
|
super(spec, ctx);
|
|
11
11
|
this.isKeyFunc = true;
|
|
12
|
-
// `key()` is the first value to take THE STAGING RULE (G8 phase 0,
|
|
13
|
-
// see AontuContext.settle): its answer is a segment of its own path,
|
|
14
|
-
// so it must not answer while a spread, a reference or a `move` can
|
|
15
|
-
// still move it. It residuates until the model stops changing, and
|
|
16
|
-
// fires on the settle pass. The residuation itself is FuncBaseVal's,
|
|
17
|
-
// shared with the generation combinators.
|
|
18
12
|
this.staged = true;
|
|
19
|
-
// this.dc = DONE
|
|
20
13
|
}
|
|
21
14
|
make(_ctx, spec) {
|
|
22
15
|
return new KeyFuncVal(spec);
|
|
@@ -26,22 +19,6 @@ class KeyFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
26
19
|
}
|
|
27
20
|
resolve(ctx, _args) {
|
|
28
21
|
let out = this;
|
|
29
|
-
// if (!this.mark.type && !this.mark.hide) {
|
|
30
|
-
//
|
|
31
|
-
// THE LEVEL MUST BE AN INTEGER, OR ABSENT.
|
|
32
|
-
//
|
|
33
|
-
// A level is an index into the path (0 the own key, the default 1 the
|
|
34
|
-
// parent), so the argument is an integer or it is a mistake. Both
|
|
35
|
-
// exact integer leaves qualify -- `integer` and `biginteger` -- and
|
|
36
|
-
// everything else is refused rather than silently meaning "parent",
|
|
37
|
-
// which is what made a mistyped level undetectable.
|
|
38
|
-
//
|
|
39
|
-
// This also removes a crash. The test used to be
|
|
40
|
-
// `isNaN(move) ? 1 : +move` with the COERCING global isNaN, which is
|
|
41
|
-
// ToNumber, and ToNumber THROWS for a bigint (a biginteger's peg) and
|
|
42
|
-
// for the null-prototype object a map's peg is -- neither has a
|
|
43
|
-
// toString or valueOf to call. The exception escaped into unify's
|
|
44
|
-
// catch-all and surfaced as an opaque [aontu/internal].
|
|
45
22
|
const argval = this.peg?.[0];
|
|
46
23
|
let move = 1;
|
|
47
24
|
if (null != argval) {
|
|
@@ -58,28 +35,6 @@ class KeyFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
58
35
|
return (0, err_1.makeNilErr)(ctx, 'key_level', this);
|
|
59
36
|
}
|
|
60
37
|
}
|
|
61
|
-
// THE PATH IS THE ONE IT IS BEING DRIVEN AT, not the one it
|
|
62
|
-
// remembers. `this.path` is a cache that the residuation clone
|
|
63
|
-
// refreshes each pass, and it is right for a key() the bag walk
|
|
64
|
-
// reaches directly -- but a key() nested inside a function or
|
|
65
|
-
// operator ARGUMENT is never reached that way: it is driven by its
|
|
66
|
-
// enclosing call, which re-paths nothing, so it kept the position
|
|
67
|
-
// the SOURCE TEXT put it at. Inside a template that is fatal: the
|
|
68
|
-
// source position of `&: {k: "x" + key()}` (or of `pack`'s
|
|
69
|
-
// template) is the template, not any of the destinations, and the
|
|
70
|
-
// parse-time path of a function argument is not a document
|
|
71
|
-
// position at all.
|
|
72
|
-
// A stored path is only usable if it IS one: a path segment that is
|
|
73
|
-
// not a key is not a position, and the parse-time path of a value
|
|
74
|
-
// written inside a function ARGUMENT carries exactly that -- the
|
|
75
|
-
// argument has no key, so its segment is not a string. Those values
|
|
76
|
-
// are also the ones the bag walk never re-paths (a call re-paths
|
|
77
|
-
// nothing it holds), which is why the stored path stays wrong
|
|
78
|
-
// forever rather than being refreshed on the next pass. For them
|
|
79
|
-
// the driving context is the only truth. For everything else the
|
|
80
|
-
// stored path stays authoritative, because a TRANSPLANTED value
|
|
81
|
-
// (move(), a shared clone) must answer for where it was put, not
|
|
82
|
-
// for whichever driver happened to reach it first.
|
|
83
38
|
let positioned = true;
|
|
84
39
|
for (const seg of this.path) {
|
|
85
40
|
if ('string' !== typeof seg) {
|
|
@@ -89,7 +44,6 @@ class KeyFuncVal extends FuncBaseVal_1.FuncBaseVal {
|
|
|
89
44
|
}
|
|
90
45
|
const here = positioned ? this.path : ctx.path;
|
|
91
46
|
const key = here[here.length - (1 + move)] ?? '';
|
|
92
|
-
// console.log('KEY', this.path, move, key)
|
|
93
47
|
out = new StringVal_1.StringVal({ peg: key });
|
|
94
48
|
// }
|
|
95
49
|
return out;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"KeyFuncVal.js","sourceRoot":"","sources":["../../src/val/KeyFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;
|
|
1
|
+
{"version":3,"file":"KeyFuncVal.js","sourceRoot":"","sources":["../../src/val/KeyFuncVal.ts"],"names":[],"mappings":";AAAA,yDAAyD;;;AAYzD,gDAA4C;AAG5C,+CAA2C;AAC3C,gCAAmC;AAGnC,MAAM,UAAW,SAAQ,yBAAW;IAGlC,YACE,IAAa,EACb,GAAkB;QAElB,KAAK,CAAC,IAAI,EAAE,GAAG,CAAC,CAAA;QANlB,cAAS,GAAG,IAAI,CAAA;QAmBhB,WAAM,GAAG,IAAI,CAAA;IAZb,CAAC;IAGD,IAAI,CAAC,IAAkB,EAAE,IAAa;QACpC,OAAO,IAAI,UAAU,CAAC,IAAI,CAAC,CAAA;IAC7B,CAAC;IAED,QAAQ;QACN,OAAO,KAAK,CAAA;IACd,CAAC;IAMD,OAAO,CAAC,GAAiB,EAAE,KAAY;QACrC,IAAI,GAAG,GAAQ,IAAI,CAAA;QAEnB,MAAM,MAAM,GAAQ,IAAI,CAAC,GAAG,EAAE,CAAC,CAAC,CAAC,CAAA;QACjC,IAAI,IAAI,GAAG,CAAC,CAAA;QAEZ,IAAI,IAAI,IAAI,MAAM,EAAE,CAAC;YACnB,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,IAAI,GAAG,MAAM,CAAC,GAAa,CAAA;YAC7B,CAAC;iBACI,IAAI,MAAM,CAAC,YAAY,EAAE,CAAC;gBAC7B,4DAA4D;gBAC5D,kEAAkE;gBAClE,uBAAuB;gBACvB,IAAI,GAAG,MAAM,CAAC,MAAM,CAAC,GAAa,CAAC,CAAA;YACrC,CAAC;iBACI,CAAC;gBACJ,OAAO,IAAA,gBAAU,EAAC,GAAG,EAAE,WAAW,EAAE,IAAI,CAAC,CAAA;YAC3C,CAAC;QACH,CAAC;QAED,IAAI,UAAU,GAAG,IAAI,CAAA;QACrB,KAAK,MAAM,GAAG,IAAI,IAAI,CAAC,IAAI,EAAE,CAAC;YAC5B,IAAI,QAAQ,KAAK,OAAO,GAAG,EAAE,CAAC;gBAC5B,UAAU,GAAG,KAAK,CAAA;gBAClB,MAAK;YACP,CAAC;QACH,CAAC;QAED,MAAM,IAAI,GAAG,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAA;QAC9C,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,GAAG,IAAI,CAAC,CAAC,IAAI,EAAE,CAAA;QAEhD,GAAG,GAAG,IAAI,qBAAS,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC,CAAA;QACjC,IAAI;QAEJ,OAAO,GAAG,CAAA;IACZ,CAAC;IAGD,GAAG,CAAC,IAAkB;QACpB,OAAO,SAAS,CAAA;IAClB,CAAC;CAEF,CAAC,iCAAiC;QAIjC,UAAU"}
|