eyelang 0.1.7 → 0.1.9
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/docs/guide.md +11 -1
- package/package.json +1 -1
- package/test/run-examples.mjs +10 -0
package/docs/guide.md
CHANGED
|
@@ -515,7 +515,17 @@ A useful rule of thumb:
|
|
|
515
515
|
| Human-auditable derivations | Either | Both can emit proof explanations when requested. |
|
|
516
516
|
| Large generated Horn-clause workloads | eyelang | The engine specializes in predicate/arity indexing, scalar argument indexes, fast fact paths, and materialized output goals. |
|
|
517
517
|
|
|
518
|
-
|
|
518
|
+
On local smoke benchmarks, eyelang is substantially faster on large generated Horn-clause and recursion-heavy workloads. These numbers are 5-run medians with stdout redirected to `/dev/null`, using Node.js `v22.16.0`, eyelang from this checkout, and Eyeling package version `1.34.6` with its default output mode. The ratio is `Eyeling median / eyelang median`, so larger numbers mean eyelang was faster.
|
|
519
|
+
|
|
520
|
+
| Example | eyelang median | Eyeling median | Ratio |
|
|
521
|
+
| --- | ---: | ---: | ---: |
|
|
522
|
+
| `fundamental-theorem-arithmetic` | `0.16 sec` | `2.00 sec` | `12.66x` |
|
|
523
|
+
| `deep-taxonomy-100000` | `1.69 sec` | `4.72 sec` | `2.79x` |
|
|
524
|
+
| `path-discovery` | `0.53 sec` | `1.62 sec` | `3.07x` |
|
|
525
|
+
| `fibonacci` | `0.15 sec` | `5.76 sec` | `38.40x` |
|
|
526
|
+
| `collatz-1000` | `0.71 sec` | `6.99 sec` | `9.85x` |
|
|
527
|
+
|
|
528
|
+
Treat these as smoke comparisons rather than a formal benchmark: hardware, Node.js version, package version, CLI startup, and output mode all matter.
|
|
519
529
|
|
|
520
530
|
The projects are therefore complementary rather than replacements for each other: Eyeling optimizes for Semantic Web interoperability and N3 expressiveness; eyelang optimizes for a small standard-looking relational rule language and fast finite goal-directed execution.
|
|
521
531
|
|
package/package.json
CHANGED
package/test/run-examples.mjs
CHANGED
|
@@ -16,26 +16,36 @@ const expectedProofDir = path.join(examplesDir, 'proof');
|
|
|
16
16
|
const fixedExampleDate = '2026-05-30';
|
|
17
17
|
|
|
18
18
|
const proofExamples = [
|
|
19
|
+
'access-control-policy.pl',
|
|
19
20
|
'age.pl',
|
|
20
21
|
'aliases-and-namespaces.pl',
|
|
21
22
|
'ancestor.pl',
|
|
22
23
|
'animal.pl',
|
|
23
24
|
'annotation.pl',
|
|
24
25
|
'backward.pl',
|
|
26
|
+
'bayes-diagnosis.pl',
|
|
25
27
|
'cat-koko.pl',
|
|
28
|
+
'context-association.pl',
|
|
26
29
|
'data-negotiation.pl',
|
|
30
|
+
'deontic-logic.pl',
|
|
31
|
+
'derived-backward-rule.pl',
|
|
27
32
|
'derived-rule.pl',
|
|
28
33
|
'dog.pl',
|
|
29
34
|
'electrical-rc-filter.pl',
|
|
30
35
|
'existential-rule.pl',
|
|
31
36
|
'floating-point.pl',
|
|
32
37
|
'good-cobbler.pl',
|
|
38
|
+
'graph-reachability.pl',
|
|
39
|
+
'greatest-lower-bound-uniqueness.pl',
|
|
33
40
|
'group-inverse-uniqueness.pl',
|
|
34
41
|
'list-collection.pl',
|
|
35
42
|
'proof-contrapositive.pl',
|
|
43
|
+
'reusable-builtins.pl',
|
|
36
44
|
'socket-age.pl',
|
|
37
45
|
'socket-family.pl',
|
|
38
46
|
'socrates.pl',
|
|
47
|
+
'term-tools.pl',
|
|
48
|
+
'witch.pl',
|
|
39
49
|
];
|
|
40
50
|
|
|
41
51
|
export function runExamples(reporter = new TestReporter()) {
|