Docs & spec
The evidence layer: the formal language spec, the symbol catalog, the architecture, and the open-source license. Everything here is checked into the public repository.
The symbol catalog
A small, stable set of overlays. ASCII is canonical; a Unicode display form (Σ, ∈, ⇒) projects on top.
| EML / Py⁺ | Python | Family | Meaning | Status |
|---|---|---|---|---|
| x^+100 | x = 100 / x += 100 | assignment | init if undeclared, else add-assign | implemented |
| x^0 | print(x) | control | output | implemented |
| x^-5 x^*2 x^/2 | x -= 5 x *= 2 x /= 2 | assignment | augmented assign | implemented |
| Σ(i^2, i in [1:N]) | sum(i**2 for i in range(1, N+1)) | algebraic | summation over an inclusive range | implemented |
| i in [1:10] | i in range(1, 11) | range | inclusive range / membership | implemented |
| x > 40 ? A : B | A if x > 40 else B | conditional | conditional expression | implemented |
| x and y x or y not x | x and y x or y not x | boolean | short-circuit and/or, unary not | implemented |
| f(x) => y | y = f(x) | assignment | call + bind | implemented |
| <M>(data) m^T | np.array(data) np.transpose(m) | matrix | matrix construct / transpose (round-trips too) | implemented |
| list^+[1,2,3] | lst = [1, 2, 3] | collection | list literal | implemented |
| def f(...): ... | def f(...): ... | function | function definition (round-trips, except @hot — see below) | implemented |
| @cold @hot | @functools.cache # @hot | temperature | cold/hot separation — @hot is a permanent, comment-only round-trip exception | implemented |
| @temporal_loop(...) | asyncio temporal runtime | temporal | time loop, no busy-wait; forward-only | partial |
This is a compact, hand-picked slice of the full registry (eml-symbols.json), grouped by syntax family with an implementation-status label — implemented, partial, conceptual, or planned. Full self-contained AI-semantic spec (status vocabulary, twelve-loop taxonomy, bug/repair/criticality models)
The twelve-loop semantic taxonomy
EML classifies loops by intent and dynamics, not only by surface keyword — a plain while can be several of these classes. Only 5 of the 12 classes have accepted surface syntax today; the rest are conceptual.
| ID | Loop class | Semantic rule | Status |
|---|---|---|---|
| L1 | Basic repetition | Repeat a deterministic body a bounded number of times. | partial |
| L2 | Conditional loop | Continue while a predicate holds. | partial |
| L3 | Algebraic loop | Accumulate under an algebraic operator. | partial |
| L4 | Event loop | Wait for and dispatch external events. | conceptual |
| L5 | Convergent loop | Iterate toward a fixed point within tolerance. | conceptual |
| L6 | Recursive loop | Generate repetition through self- or cycle-calls. | partial |
| L7 | Fractal loop | Repeat a self-similar transformation across depth. | conceptual |
| L8 | Quantum loop | Evolve a superposed state and collapse by measurement. | conceptual |
| L9 | Chaotic loop | Deterministic transition with high sensitivity to initial conditions. | conceptual |
| L10 | Spiral loop | Follow one selected, progressively refined trajectory. | conceptual |
| L11 | Evolutionary loop | Generate multiple candidates and select by an objective function. | conceptual |
| L12 | Temporal loop | Suspend without busy-waiting until a condition, event, or deadline matures. | partial |
A real toolchain
The eml CLI runs the whole pipeline from source — parse, transpile, execute, trace, classify, round-trip.
$ eml run f.emltranspile and execute via Python$ eml transpile f.eml --target cppEML → Python, or the C⁺⁺⁺ prototype$ eml trace f.eml --runeml-trace-v1 trace; bakes in an interp≡Python check$ eml compress f.pyreverse: Python (subset) → EML$ eml roundtrip f.emlEML → Py → EML → Py fixpoint check$ eml bugs f.eml --runclassify errors (5 levels), mapped to sourceSmall packages, no cycles, run from source
A TypeScript monorepo. The parser, transpiler and interpreter are browser-safe — which is exactly why the playground above runs with no backend.
@eml/parsernormalize → lex → parse → AST@eml/transpiler-pythonsemantic analysis + Python emitter@eml/transpiler-emlreverse + round-trip validators@eml/transpiler-cppC⁺⁺⁺ prototype back end@eml/interpexecution-truth interpreter + trace@eml/traceeml-trace-v1 emitter@eml/bug-classifier5-level BUG classifier@eml/clithe eml commandNo LLM in the core transpilation chain. Determinism and round-trip faithfulness are invariants, not features.
Open source, under Apache-2.0
EML is free to use, study, modify, and build on — commercial use included. Keep the attribution, credit the original author, and the rest is yours.
Open source (Apache-2.0)
The whole project is released under the Apache License 2.0 — use it, fork it, ship products with it.
Just credit the author
Keep the license/attribution notices and respect Neo.K (許筌崴) / EveMissLab as the original author. That is the only ask beyond the license.
Patent — granted to you
Aspects are covered by Taiwan Utility Model M672933 (Taiwan only). Apache-2.0 includes a patent-license grant, so you are covered — and some concepts already reach beyond the patent.
Contributions welcome
Inbound contributions are under the same Apache-2.0 terms (inbound = outbound). No separate CLA.
Built in the open. Commercial use, forks, and adaptations are all welcome under Apache-2.0.
View on GitHub