eyeling 1.22.13 → 1.22.15
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/HANDBOOK.md +2 -0
- package/dist/browser/eyeling.browser.js +232 -180
- package/examples/control-system-becoming.n3 +203 -0
- package/examples/developmental-genetics-becoming.n3 +204 -0
- package/examples/engineering-becoming.n3 +167 -0
- package/examples/output/control-system-becoming.n3 +35 -0
- package/examples/output/developmental-genetics-becoming.n3 +32 -0
- package/examples/output/engineering-becoming.n3 +26 -0
- package/examples/output/whitehead-becoming.n3 +42 -0
- package/examples/whitehead-becoming.n3 +155 -0
- package/eyeling.js +240 -184
- package/lib/builtins.js +164 -151
- package/lib/engine.js +67 -29
- package/package.json +1 -1
- package/test/api.test.js +28 -0
package/HANDBOOK.md
CHANGED
|
@@ -436,6 +436,8 @@ Important scope nuance: only blanks/variables that are local to the quoted formu
|
|
|
436
436
|
|
|
437
437
|
So `{ _:x :p :o }` obtained by substituting `?A = _:x` into `{ ?A :p :o }` must not alpha-match `{ _:b :p :o }` by renaming `_:x` to `_:b`.
|
|
438
438
|
|
|
439
|
+
A related operational detail matters for rule execution: alpha-equivalence is only a **binding-free shortcut** when both quoted formulas are variable-free after substitution. If unbound variables still remain inside the formulas, Eyeling must fall back to structural quoted-formula unification so shared outer rule variables can actually bind. Otherwise a premise such as `?A :has { ?S ?P ?O }` could appear to match while leaving `?S ?P ?O` unbound for later goals.
|
|
440
|
+
|
|
439
441
|
### 6.2 Groundness: “variables inside formulas do not leak”
|
|
440
442
|
|
|
441
443
|
Eyeling makes a deliberate choice about _groundness_:
|