@bjornpagen/bumbledb 0.1.0 → 0.3.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/COOKBOOK.md +1450 -0
- package/README.md +69 -30
- package/dist/closed.d.ts +157 -38
- package/dist/closed.d.ts.map +1 -1
- package/dist/closed.js +232 -47
- package/dist/closed.js.map +1 -1
- package/dist/count.d.ts +64 -17
- package/dist/count.d.ts.map +1 -1
- package/dist/count.js +37 -14
- package/dist/count.js.map +1 -1
- package/dist/db.d.ts +27 -8
- package/dist/db.d.ts.map +1 -1
- package/dist/db.js +33 -10
- package/dist/db.js.map +1 -1
- package/dist/exhume.d.ts +12 -11
- package/dist/exhume.d.ts.map +1 -1
- package/dist/exhume.js +7 -6
- package/dist/exhume.js.map +1 -1
- package/dist/face.d.ts +135 -30
- package/dist/face.d.ts.map +1 -1
- package/dist/face.js +44 -19
- package/dist/face.js.map +1 -1
- package/dist/fields.d.ts +130 -130
- package/dist/fields.d.ts.map +1 -1
- package/dist/fields.js +60 -94
- package/dist/fields.js.map +1 -1
- package/dist/index.d.ts +29 -24
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +19 -14
- package/dist/index.js.map +1 -1
- package/dist/law.d.ts +224 -0
- package/dist/law.d.ts.map +1 -0
- package/dist/law.js +224 -0
- package/dist/law.js.map +1 -0
- package/dist/lower.d.ts +17 -7
- package/dist/lower.d.ts.map +1 -1
- package/dist/lower.js +66 -24
- package/dist/lower.js.map +1 -1
- package/dist/marshal.d.ts +36 -21
- package/dist/marshal.d.ts.map +1 -1
- package/dist/marshal.js +41 -25
- package/dist/marshal.js.map +1 -1
- package/dist/native.d.ts +6 -2
- package/dist/native.d.ts.map +1 -1
- package/dist/native.js +2 -2
- package/dist/native.js.map +1 -1
- package/dist/query/atom.d.ts +370 -174
- package/dist/query/atom.d.ts.map +1 -1
- package/dist/query/atom.js +75 -172
- package/dist/query/atom.js.map +1 -1
- package/dist/query/lower.d.ts +312 -109
- package/dist/query/lower.d.ts.map +1 -1
- package/dist/query/lower.js +906 -387
- package/dist/query/lower.js.map +1 -1
- package/dist/query/predicate.d.ts +70 -88
- package/dist/query/predicate.d.ts.map +1 -1
- package/dist/query/predicate.js +118 -72
- package/dist/query/predicate.js.map +1 -1
- package/dist/query/run.d.ts +19 -16
- package/dist/query/run.d.ts.map +1 -1
- package/dist/query/run.js +31 -24
- package/dist/query/run.js.map +1 -1
- package/dist/query/scope.d.ts +178 -127
- package/dist/query/scope.d.ts.map +1 -1
- package/dist/query/scope.js +111 -108
- package/dist/query/scope.js.map +1 -1
- package/dist/query/select.d.ts +102 -80
- package/dist/query/select.d.ts.map +1 -1
- package/dist/query/select.js +39 -34
- package/dist/query/select.js.map +1 -1
- package/dist/relation.d.ts +48 -38
- package/dist/relation.d.ts.map +1 -1
- package/dist/relation.js +24 -19
- package/dist/relation.js.map +1 -1
- package/dist/schema.d.ts +41 -3
- package/dist/schema.d.ts.map +1 -1
- package/dist/schema.js +34 -9
- package/dist/schema.js.map +1 -1
- package/dist/spec.d.ts +7 -5
- package/dist/spec.d.ts.map +1 -1
- package/dist/spec.js.map +1 -1
- package/dist/statements.d.ts +91 -36
- package/dist/statements.d.ts.map +1 -1
- package/dist/statements.js +42 -12
- package/dist/statements.js.map +1 -1
- package/package.json +4 -3
- package/src/closed.ts +448 -95
- package/src/count.ts +112 -18
- package/src/db.ts +45 -17
- package/src/exhume.ts +12 -11
- package/src/face.ts +211 -41
- package/src/fields.ts +199 -234
- package/src/index.ts +78 -61
- package/src/law.ts +519 -0
- package/src/lower.ts +82 -27
- package/src/marshal.ts +48 -30
- package/src/native.ts +8 -4
- package/src/query/atom.ts +525 -374
- package/src/query/lower.ts +1469 -538
- package/src/query/predicate.ts +208 -161
- package/src/query/run.ts +35 -25
- package/src/query/scope.ts +264 -218
- package/src/query/select.ts +168 -93
- package/src/relation.ts +47 -47
- package/src/schema.ts +69 -18
- package/src/spec.ts +7 -5
- package/src/statements.ts +124 -41
- package/dist/brand.d.ts +0 -59
- package/dist/brand.d.ts.map +0 -1
- package/dist/brand.js +0 -47
- package/dist/brand.js.map +0 -1
- package/src/brand.ts +0 -82
package/dist/query/lower.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lower.js","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"lower.js","sourceRoot":"","sources":["../../src/query/lower.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,101 +1,83 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Stratified recursion — engine recursion as values, mirroring the IR's
|
|
3
3
|
* cut exactly (`ir::Program`/`PredicateDef`/`AtomSource::Idb`;
|
|
4
|
-
* `docs/architecture/20-query-ir.md` § engine recursion):
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
4
|
+
* `docs/architecture/20-query-ir.md` § engine recursion):
|
|
5
|
+
*
|
|
6
|
+
* program(S, (p) => {
|
|
7
|
+
* const reach = p.rec("reach")
|
|
8
|
+
* reach.rule((r) => r.match(Node, { id: r.var("c") })
|
|
9
|
+
* .where(r.eq(r.var("c"), r.param("root"))).select("c"))
|
|
10
|
+
* reach.rule((r) => r.match(Parent, { child: r.var("c"), parent: r.var("m") })
|
|
11
|
+
* .idb(reach, r.var("m")).select("c"))
|
|
12
|
+
* return p.output((r) => r.match(Posting, { account: r.var("a"), minor: r.var("m") })
|
|
13
|
+
* .idb(reach, r.var("a")).select(r.sum("m")))
|
|
14
|
+
* })
|
|
15
|
+
*
|
|
16
|
+
* `p.rec(name)` declares one recursive predicate (declaration order = its
|
|
17
|
+
* dense `PredId`); `rec.rule(...)` attaches one clause — its builder's
|
|
18
|
+
* `idb` accepts ONLY the rec itself (the self-recursion cut as a
|
|
19
|
+
* type-level boundary: mutual recursion is unwritable) and its head
|
|
20
|
+
* projects bound variable NAMES only (aggregation/measure through a cycle
|
|
21
|
+
* is unrepresentable — the strata judge's roster, made unwritable);
|
|
22
|
+
* `p.output(...)` seals the recs and builds the output rules, whose `idb`
|
|
23
|
+
* folds any FINISHED stratum (recipe 25's form). The rec value `.rule`
|
|
24
|
+
* returns carries the params its rules used — thread it into the output's
|
|
25
|
+
* `idb` and the program's inferred `Params` stays exactly the params the
|
|
26
|
+
* rules use. Everything deeper — strata legality, signature sealing, the
|
|
27
|
+
* three oracles — is the ENGINE's judge, surfacing typed at prepare.
|
|
14
28
|
*/
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import type {
|
|
18
|
-
import
|
|
19
|
-
import type {
|
|
20
|
-
/** One declared head column: name plus the field description that types it. */
|
|
21
|
-
interface PredicateColumn {
|
|
22
|
-
readonly name: string;
|
|
23
|
-
readonly data: FieldData;
|
|
24
|
-
}
|
|
25
|
-
/** One clause of a predicate: head projections (column order) and the body. */
|
|
26
|
-
interface PredicateRuleData {
|
|
27
|
-
readonly finds: readonly AnyVar[];
|
|
28
|
-
readonly body: readonly AnyBodyItem[];
|
|
29
|
-
}
|
|
30
|
-
/** A predicate's runtime description; identity keys the dense `PredId` at lowering. */
|
|
31
|
-
interface PredicateData {
|
|
32
|
-
readonly name: string;
|
|
33
|
-
readonly columns: readonly PredicateColumn[];
|
|
34
|
-
readonly rules: readonly PredicateRuleData[];
|
|
35
|
-
}
|
|
36
|
-
/** Any field reference, whatever its brand — the column-declaration position. */
|
|
37
|
-
type AnyFieldRef = FieldRef<string, string, unknown>;
|
|
38
|
-
/** The columns record `$.predicate` takes: column name to typing field reference. */
|
|
39
|
-
type PredicateColumnsInput = Readonly<Record<string, AnyFieldRef>>;
|
|
40
|
-
/** Extracts a field reference's host value type. */
|
|
41
|
-
type RefValue<T> = T extends {
|
|
42
|
-
readonly [phantom]?: infer V;
|
|
43
|
-
} ? Exclude<V, undefined> : never;
|
|
44
|
-
/** The head's typed column record, derived from the declaration. */
|
|
45
|
-
type ColumnValues<Cols> = {
|
|
46
|
-
[K in keyof Cols]: RefValue<Cols[K]>;
|
|
47
|
-
};
|
|
48
|
-
/**
|
|
49
|
-
* The `.match` bindings of a predicate atom: per head column, a term of
|
|
50
|
-
* the column's brand; unmentioned columns are wildcards, exactly as
|
|
51
|
-
* relation atoms.
|
|
52
|
-
*/
|
|
53
|
-
type PredicateBindings<ColsV> = {
|
|
54
|
-
readonly [K in keyof ColsV]?: TermInput<ColsV[K]>;
|
|
55
|
-
};
|
|
29
|
+
import type { SchemaClasses } from "#law.ts";
|
|
30
|
+
import type { AnyRuleValue, HeadOf, HeadShape, OutputRuleScope, ParamsOf, Query, RecRef, RecRuleScope, RowOf } from "#query/lower.ts";
|
|
31
|
+
import type { Flatten, ParamsRecord, ShapeOf } from "#query/scope.ts";
|
|
32
|
+
import { inferred } from "#query/scope.ts";
|
|
33
|
+
import type { Schema, SchemaRelations } from "#schema.ts";
|
|
56
34
|
/**
|
|
57
|
-
* One
|
|
58
|
-
*
|
|
59
|
-
*
|
|
60
|
-
*
|
|
35
|
+
* One recursive predicate HANDLE: `rec.rule(...)` attaches a clause and
|
|
36
|
+
* returns the SAME rec under a widened params type (the runtime data is
|
|
37
|
+
* shared — either handle is the self-reference; the returned one carries
|
|
38
|
+
* the rules' params for the output to thread) and under the head signature
|
|
39
|
+
* the FIRST rule sealed (every later rule derives the same head — the
|
|
40
|
+
* runtime alignment check's law), so a threaded handle's `idb` joins are
|
|
41
|
+
* arity- and domain-checked against the head.
|
|
61
42
|
*/
|
|
62
|
-
interface
|
|
63
|
-
|
|
64
|
-
|
|
43
|
+
interface Rec<Rels extends SchemaRelations, Name extends string, P extends ParamsRecord, Head extends HeadShape = undefined, Classes extends SchemaClasses = SchemaClasses> extends RecRef<Name, P, Head> {
|
|
44
|
+
rule<RV extends AnyRuleValue>(build: (r: RecRuleScope<Rels, Name, Classes>) => RV): Rec<Rels, Name, Flatten<P & ParamsOf<RV>>, Head extends undefined ? HeadOf<RV> : Head, Classes>;
|
|
45
|
+
readonly [inferred]?: {
|
|
46
|
+
readonly params: P;
|
|
47
|
+
readonly head: Head;
|
|
65
48
|
};
|
|
66
|
-
readonly body: readonly AnyBodyItem[];
|
|
67
|
-
}
|
|
68
|
-
/**
|
|
69
|
-
* The predicate's own reference, passed INTO its rules callback — the
|
|
70
|
-
* fixpoint spelling: `self.match({...})` inside a rule of the same
|
|
71
|
-
* predicate is the recursive atom.
|
|
72
|
-
*/
|
|
73
|
-
interface PredicateSelf<ColsV> {
|
|
74
|
-
readonly data: PredicateData;
|
|
75
|
-
match<const B extends PredicateBindings<ColsV>>(bindings: B): MatchAtom<BindingsParams<B>>;
|
|
76
49
|
}
|
|
50
|
+
/** One output-rule builder function. */
|
|
51
|
+
type OutputBuild<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> = (r: OutputRuleScope<Rels, Classes>) => AnyRuleValue;
|
|
52
|
+
/** A build function's rule value. */
|
|
53
|
+
type BuiltRule<F> = F extends (r: never) => infer RV ? RV : never;
|
|
54
|
+
/** The union row of a tuple of output builds. */
|
|
55
|
+
type OutputRow<Builds extends readonly OutputBuild<SchemaRelations, SchemaClasses>[]> = RowOf<BuiltRule<Builds[number]>>;
|
|
56
|
+
/** The intersected params record of a tuple of output builds. */
|
|
57
|
+
type OutputParams<Builds extends readonly OutputBuild<SchemaRelations, SchemaClasses>[]> = ShapeOf<ParamsOf<BuiltRule<Builds[number]>>>;
|
|
77
58
|
/**
|
|
78
|
-
*
|
|
79
|
-
*
|
|
80
|
-
*
|
|
81
|
-
* type sees through predicates it only reaches transitively.
|
|
59
|
+
* The program scope: declare recs, attach their rules, then declare the
|
|
60
|
+
* output — which seals the recs (a later `rec`/`rule` is a construction
|
|
61
|
+
* error) and returns the program as an ordinary query value.
|
|
82
62
|
*/
|
|
83
|
-
interface
|
|
84
|
-
|
|
85
|
-
|
|
63
|
+
interface ProgramScope<Rels extends SchemaRelations, Classes extends SchemaClasses = SchemaClasses> {
|
|
64
|
+
/** Declares one recursive predicate; declaration order = its dense `PredId`. */
|
|
65
|
+
rec<const Name extends string>(name: Name): Rec<Rels, Name, Record<never, never>, undefined, Classes>;
|
|
66
|
+
/**
|
|
67
|
+
* Declares the output predicate (one rule per build; multiple rules =
|
|
68
|
+
* set union) and seals the program. Must be what the `program()`
|
|
69
|
+
* callback returns.
|
|
70
|
+
*/
|
|
71
|
+
output<const Builds extends readonly OutputBuild<Rels, Classes>[]>(...builds: Builds): Query<Rels, OutputRow<Builds>, OutputParams<Builds>, Classes>;
|
|
86
72
|
}
|
|
87
|
-
/** The params contributed by a predicate's declared rules. */
|
|
88
|
-
type PredicateParams<Rules extends readonly {
|
|
89
|
-
readonly body: readonly AnyBodyItem[];
|
|
90
|
-
}[]> = ParamsShape<ItemParams<Rules[number]["body"][number]>>;
|
|
91
73
|
/**
|
|
92
|
-
*
|
|
93
|
-
*
|
|
94
|
-
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
74
|
+
* Builds a stratified program over a schema. The callback declares recs
|
|
75
|
+
* and their rules through the scope and MUST return `p.output(...)` — the
|
|
76
|
+
* sealed program is an ordinary query value: `db.prepare` lowers it to
|
|
77
|
+
* the one `ProgramIr` shape the engine executes under the per-stratum
|
|
78
|
+
* fixpoint driver.
|
|
97
79
|
*/
|
|
98
|
-
declare function
|
|
99
|
-
export type {
|
|
100
|
-
export {
|
|
80
|
+
declare function program<Rels extends SchemaRelations, Classes extends SchemaClasses, Q extends Query<Rels, unknown, ParamsRecord, Classes>>(theory: Schema<Rels, Classes>, build: (p: ProgramScope<Rels, Classes>) => Q): Q;
|
|
81
|
+
export type { OutputBuild, ProgramScope, Rec };
|
|
82
|
+
export { program };
|
|
101
83
|
//# sourceMappingURL=predicate.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predicate.d.ts","sourceRoot":"","sources":["../../src/query/predicate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"predicate.d.ts","sourceRoot":"","sources":["../../src/query/predicate.ts"],"names":[],"mappings":"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"}
|
package/dist/query/predicate.js
CHANGED
|
@@ -1,85 +1,131 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Stratified recursion — engine recursion as values, mirroring the IR's
|
|
3
3
|
* cut exactly (`ir::Program`/`PredicateDef`/`AtomSource::Idb`;
|
|
4
|
-
* `docs/architecture/20-query-ir.md` § engine recursion):
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
*
|
|
10
|
-
*
|
|
11
|
-
*
|
|
12
|
-
*
|
|
13
|
-
*
|
|
4
|
+
* `docs/architecture/20-query-ir.md` § engine recursion):
|
|
5
|
+
*
|
|
6
|
+
* program(S, (p) => {
|
|
7
|
+
* const reach = p.rec("reach")
|
|
8
|
+
* reach.rule((r) => r.match(Node, { id: r.var("c") })
|
|
9
|
+
* .where(r.eq(r.var("c"), r.param("root"))).select("c"))
|
|
10
|
+
* reach.rule((r) => r.match(Parent, { child: r.var("c"), parent: r.var("m") })
|
|
11
|
+
* .idb(reach, r.var("m")).select("c"))
|
|
12
|
+
* return p.output((r) => r.match(Posting, { account: r.var("a"), minor: r.var("m") })
|
|
13
|
+
* .idb(reach, r.var("a")).select(r.sum("m")))
|
|
14
|
+
* })
|
|
15
|
+
*
|
|
16
|
+
* `p.rec(name)` declares one recursive predicate (declaration order = its
|
|
17
|
+
* dense `PredId`); `rec.rule(...)` attaches one clause — its builder's
|
|
18
|
+
* `idb` accepts ONLY the rec itself (the self-recursion cut as a
|
|
19
|
+
* type-level boundary: mutual recursion is unwritable) and its head
|
|
20
|
+
* projects bound variable NAMES only (aggregation/measure through a cycle
|
|
21
|
+
* is unrepresentable — the strata judge's roster, made unwritable);
|
|
22
|
+
* `p.output(...)` seals the recs and builds the output rules, whose `idb`
|
|
23
|
+
* folds any FINISHED stratum (recipe 25's form). The rec value `.rule`
|
|
24
|
+
* returns carries the params its rules used — thread it into the output's
|
|
25
|
+
* `idb` and the program's inferred `Params` stays exactly the params the
|
|
26
|
+
* rules use. Everything deeper — strata legality, signature sealing, the
|
|
27
|
+
* three oracles — is the ENGINE's judge, surfacing typed at prepare.
|
|
14
28
|
*/
|
|
15
29
|
import * as errors from "@superbuilders/errors";
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
+
import { makeOutputRuleScope, makeQuery, makeRawScope } from "#query/lower.ts";
|
|
31
|
+
import { inferred } from "#query/scope.ts";
|
|
32
|
+
/** Builds the runtime rec handle over shared rec data. */
|
|
33
|
+
function makeRawRec(state, name, data) {
|
|
34
|
+
const rec = {
|
|
35
|
+
name,
|
|
36
|
+
data,
|
|
37
|
+
rule(build) {
|
|
38
|
+
if (state.sealed) {
|
|
39
|
+
throw errors.new(`rec ${name}: the program's output is already declared — recursive rules attach before p.output`);
|
|
40
|
+
}
|
|
41
|
+
const built = build(makeRawScope({ kind: "rec", self: data, classes: state.classes }));
|
|
42
|
+
const head = data.rules[0];
|
|
43
|
+
if (head !== undefined) {
|
|
44
|
+
const declared = head.select.map(function columnName(column) {
|
|
45
|
+
return column.name;
|
|
46
|
+
});
|
|
47
|
+
const candidate = built.rule.select.map(function columnName(column) {
|
|
48
|
+
return column.name;
|
|
49
|
+
});
|
|
50
|
+
if (declared.join(", ") !== candidate.join(", ")) {
|
|
51
|
+
throw errors.new(`rec ${name}: every rule derives the same head — rule 0 projects (${declared.join(", ")}), this rule projects (${candidate.join(", ")})`);
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
data.rules.push(built.rule);
|
|
55
|
+
return makeRawRec(state, name, data);
|
|
56
|
+
}
|
|
57
|
+
};
|
|
58
|
+
Object.freeze(rec);
|
|
59
|
+
return rec;
|
|
30
60
|
}
|
|
31
61
|
/**
|
|
32
|
-
*
|
|
33
|
-
*
|
|
34
|
-
*
|
|
35
|
-
* scope variable per column, and registers the predicate in declaration
|
|
36
|
-
* order (= its dense `PredId`).
|
|
62
|
+
* The rec handles' trusted admission seam (the `refsComplete` pattern):
|
|
63
|
+
* the checkable fact — the handle owns exactly the rec data it names — is
|
|
64
|
+
* verified before the raw handle is admitted at its typed face.
|
|
37
65
|
*/
|
|
38
|
-
function
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
})
|
|
46
|
-
}
|
|
47
|
-
if (ordered.length === 0) {
|
|
48
|
-
throw errors.new(`predicate ${name}: a predicate head needs at least one column`);
|
|
66
|
+
function isRecHandle(data, rec) {
|
|
67
|
+
return rec.data === data;
|
|
68
|
+
}
|
|
69
|
+
/** Builds one typed rec handle over shared rec data. */
|
|
70
|
+
function makeRec(state, name, data) {
|
|
71
|
+
const raw = makeRawRec(state, name, data);
|
|
72
|
+
if (!isRecHandle(data, raw)) {
|
|
73
|
+
throw errors.new(`rec ${name}: handle construction incomplete`);
|
|
49
74
|
}
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
if (
|
|
69
|
-
throw errors.new(`
|
|
75
|
+
return raw;
|
|
76
|
+
}
|
|
77
|
+
/**
|
|
78
|
+
* Builds a stratified program over a schema. The callback declares recs
|
|
79
|
+
* and their rules through the scope and MUST return `p.output(...)` — the
|
|
80
|
+
* sealed program is an ordinary query value: `db.prepare` lowers it to
|
|
81
|
+
* the one `ProgramIr` shape the engine executes under the per-stratum
|
|
82
|
+
* fixpoint driver.
|
|
83
|
+
*/
|
|
84
|
+
function program(theory, build) {
|
|
85
|
+
const state = { recs: [], classes: theory.classes, sealed: false };
|
|
86
|
+
const names = new Set();
|
|
87
|
+
const made = { query: undefined };
|
|
88
|
+
const scope = {
|
|
89
|
+
rec(name) {
|
|
90
|
+
if (state.sealed) {
|
|
91
|
+
throw errors.new(`program: the output is already declared — rec ${name} would be unreachable`);
|
|
92
|
+
}
|
|
93
|
+
if (names.has(name)) {
|
|
94
|
+
throw errors.new(`program: a rec named ${name} is already declared — rec names are the self-recursion cut's identity`);
|
|
95
|
+
}
|
|
96
|
+
names.add(name);
|
|
97
|
+
const data = { name, rules: [] };
|
|
98
|
+
state.recs.push(data);
|
|
99
|
+
return makeRec(state, name, data);
|
|
100
|
+
},
|
|
101
|
+
output(...builds) {
|
|
102
|
+
if (state.sealed) {
|
|
103
|
+
throw errors.new("program: output is declared once — multiple rules are multiple builds of the one output");
|
|
70
104
|
}
|
|
71
|
-
|
|
105
|
+
state.sealed = true;
|
|
106
|
+
for (const rec of state.recs) {
|
|
107
|
+
if (rec.rules.length === 0) {
|
|
108
|
+
throw errors.new(`program: rec ${rec.name} has no rules — a predicate with no defining clause seals no signature`);
|
|
109
|
+
}
|
|
110
|
+
Object.freeze(rec.rules);
|
|
111
|
+
}
|
|
112
|
+
if (builds.length === 0) {
|
|
113
|
+
throw errors.new("program: the output needs at least one rule");
|
|
114
|
+
}
|
|
115
|
+
const rules = builds.map(function buildRule(buildOne) {
|
|
116
|
+
return buildOne(makeOutputRuleScope(state)).rule;
|
|
117
|
+
});
|
|
118
|
+
const q = makeQuery(theory, state.recs, rules);
|
|
119
|
+
made.query = q;
|
|
120
|
+
return q;
|
|
72
121
|
}
|
|
73
|
-
|
|
122
|
+
};
|
|
123
|
+
Object.freeze(scope);
|
|
124
|
+
const result = build(scope);
|
|
125
|
+
if (made.query !== result) {
|
|
126
|
+
throw errors.new("program: the build callback must return p.output(...) — the sealed program IS the query value");
|
|
74
127
|
}
|
|
75
|
-
|
|
76
|
-
registry.predicates.push(data);
|
|
77
|
-
return Object.freeze({
|
|
78
|
-
data,
|
|
79
|
-
match(bindings) {
|
|
80
|
-
return predicateAtom(data, bindings);
|
|
81
|
-
}
|
|
82
|
-
});
|
|
128
|
+
return result;
|
|
83
129
|
}
|
|
84
|
-
export {
|
|
130
|
+
export { program };
|
|
85
131
|
//# sourceMappingURL=predicate.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"predicate.js","sourceRoot":"","sources":["../../src/query/predicate.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"predicate.js","sourceRoot":"","sources":["../../src/query/predicate.ts"],"names":[],"mappings":"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"}
|