Case 005

Recursion

Self-recursive factorial via the ternary ?:. loopKind: recursive (deterministic; not statically proven terminating).

ok: true — verified live via pnpm eml roundtrip: this supported recursive-function form reaches the Python fixpoint.updated 2026-07-19

EML

eml
def fact(n):
    n <= 1 ? 1 : n * fact(n - 1) => r
    return r

fact(6) => x
x^0

Python (deterministic transpilation)

python
def fact(n):
    r = 1 if n <= 1 else n * fact(n - 1)
    return r

x = fact(6)
print(x)

stdout (executed)

text
720

Trace event types

eml:run:starteml:defeml:call ×6 (fact 6→1)eml:assign/eml:return ×6 (unwind)eml:assigneml:outputeml:run:done