eyelang 1.7.15 → 1.7.16
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 +1 -0
- package/docs/compact-reasoning-workbench.md +35 -0
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -49,6 +49,7 @@ console.log(result.stdout);
|
|
|
49
49
|
- [Playground](https://eyereasoner.github.io/eyelang/playground)
|
|
50
50
|
- [Guide](docs/guide.md)
|
|
51
51
|
- [Language reference](docs/language-reference.md)
|
|
52
|
+
- [A Compact Reasoning Workbench](docs/compact-reasoning-workbench.md)
|
|
52
53
|
|
|
53
54
|
For local browser use, serve the checkout first so the playground can load ES modules and example files:
|
|
54
55
|
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# A Compact Reasoning Workbench
|
|
2
|
+
|
|
3
|
+
Eyelang began as a small thing: a few facts, a few rules, a way to ask a question and get an answer.
|
|
4
|
+
|
|
5
|
+
At first it solved the familiar problems. Paths through graphs. Ancestors in families. Tiny proofs that fit on one screen. The early examples in `examples/` keep that beginning visible: they show the core idiom before anything becomes exotic. Facts describe a world, rules extend it, goals ask for visible consequences, and answers come back as ordinary terms.
|
|
6
|
+
|
|
7
|
+
Then the examples started to widen.
|
|
8
|
+
|
|
9
|
+
Mathematical programs turned recurrence, tabling, aggregation, and finite search into executable relations. Fibonacci numbers, Collatz traces, integer partitions, Catalan numbers, binomial identities, Stirling and Bell numbers, graph paths, and scheduling problems made performance visible without hiding the logic behind a host-language library.
|
|
10
|
+
|
|
11
|
+
Knowledge-modeling examples pulled the same syntax in a different direction. Policies, GDPR-style compliance, access control, clinical screening, deontic rules, purpose mapping, alignment flows, and context audits were not mainly numerical problems. They were problems of explanation, qualification, exception, and traceability. In those cases Eyelang stayed close to the vocabulary of the domain.
|
|
12
|
+
|
|
13
|
+
Science and engineering examples stretched the language again. Filters, beams, control systems, kinetics, gas laws, gradients, coding theory, and optimization showed that structured calculation could live inside a larger rule-based argument. The programs remained small enough to read, but substantial enough to test the engine.
|
|
14
|
+
|
|
15
|
+
Then came examples that looked more like systems research than toy logic programs. Markov Logic Network-style scoring represented weighted possible worlds while keeping the probability model explicit. Type inference, abstract interpretation, pointer analysis, SAT solving, truth maintenance, and register allocation showed that programming-language and analysis problems could be written as compact theories rather than opaque procedures.
|
|
16
|
+
|
|
17
|
+
At the far edge were the deliberately uncomfortable examples: partial evaluation, Knuth-Bendix completion, CDCL-style SAT solving, and bounded equality saturation. They did not pretend that Eyelang was a mutable union-find library, an industrial optimizer, or a replacement for every specialized solver. They were useful precisely because they marked the boundary. Some problems had to be bounded. Some had to be expressed carefully. Some revealed where a small logic engine ends and another tool should take over.
|
|
18
|
+
|
|
19
|
+
That made `examples/` more than a gallery. It became executable documentation, regression evidence, and a map of the language's range. Each file was a compact theory with an expected output that could be run, inspected, and kept honest by the test suite.
|
|
20
|
+
|
|
21
|
+
The surprise was not that every hard problem became easy. They did not.
|
|
22
|
+
|
|
23
|
+
The surprise was that the same small core kept reaching.
|
|
24
|
+
|
|
25
|
+
Across mathematics, knowledge modeling, science, program analysis, symbolic reasoning, optimization, explanation, and search, Eyelang stayed recognizable. The programs were not black boxes. They were little theories: readable, testable, and executable. When performance mattered, tabling and careful formulations often carried them farther than expected.
|
|
26
|
+
|
|
27
|
+
By the end, Eyelang no longer looked like a toy language with a few clever demos.
|
|
28
|
+
|
|
29
|
+
It looked like a compact reasoning workbench.
|
|
30
|
+
|
|
31
|
+
Small enough to understand.
|
|
32
|
+
|
|
33
|
+
Expressive enough to surprise.
|
|
34
|
+
|
|
35
|
+
Fast enough to take seriously.
|