Case 030
Case corpus: a self-authored multiplication table generator
multiplication_table_generator.eml is one of a six-case self-authored batch of deterministic simulations and pattern generators (see [examples/fizzbuzz/](../fizzbuzz/), [examples/triangle-pattern-printer/](../triangle-pattern-printer/), [examples/simple-calculator/](../simple-calculator/), [examples/rock-paper-scissors-simulator/](../rock-paper-scissors-simulator/), and [examples/dice-roll-tally/](../dice-roll-tally/) for the other five) — part of growing the EML case corpus toward AI-native training scale, not a port of an existing project.
ok: true — round-trip fixpoint reached (python1 == python2)updated 2026-07-19
EML
eml# Self-authored for the EML case corpus (no external origin). Prints a
# 1-10 multiplication table via nested for-loops over EML's native [a:b]
# range literal, %-string-formatting (`%d`) to render each product, and a
# manual left-pad (a while loop plus string concatenation — the
# interpreter's `%` operator deliberately supports no width/flags, only
# `%s`/`%d`/`%f`/`%%`, so a fixed-width `%4d` is not usable here) to keep
# columns aligned.
def pad_left(text, width):
while len(text) < width:
" " + text => text
return text
for row in [1:10]:
"" => line
for col in [1:10]:
row * col => product
"%d" % (product,) => digits
line + pad_left(digits, 4) => line
line^0Python (deterministic transpilation)
pythondef pad_left(text, width):
while len(text) < width:
text = " " + text
return text
for row in range(1, 11):
line = ""
for col in range(1, 11):
product = row * col
digits = "%d" % (product,)
line = line + pad_left(digits, 4)
print(line)stdout (executed)
text 1 2 3 4 5 6 7 8 9 10
2 4 6 8 10 12 14 16 18 20
3 6 9 12 15 18 21 24 27 30
4 8 12 16 20 24 28 32 36 40
5 10 15 20 25 30 35 40 45 50
6 12 18 24 30 36 42 48 54 60
7 14 21 28 35 42 49 56 63 70
8 16 24 32 40 48 56 64 72 80
9 18 27 36 45 54 63 72 81 90
10 20 30 40 50 60 70 80 90 100Trace event types
eml:run:starteml:defeml:assigneml:calleml:returneml:outputeml:run:done