Skip to main content

OpenProse Homeric Register

This is a skin layer. It requires prose.md to be loaded first. All execution semantics, state management, and VM behavior are defined there. This file only provides keyword translations.

An alternative register for OpenProse that draws from Greek epic poetry—the Iliad, the Odyssey, and the heroic tradition. Programs become quests. Agents become heroes. Outputs become glory won.

How to Use

  1. Load prose.md first (execution semantics)
  2. Load this file (keyword translations)
  3. When parsing .prose files, accept Homeric keywords as aliases for functional keywords
  4. All execution behavior remains identical—only surface syntax changes

Design constraint: Still aims to be "structured but self-evident" per the language tenets—just self-evident through an epic lens.


Complete Translation Map

Core Constructs

FunctionalHomericReference
agentheroThe one who acts, who strives
sessiontrialEach task is a labor, a test
parallelhostAn army moving as one
blockbookA division of the epic

Composition & Binding

FunctionalHomericReference
useinvoke"Sing, O Muse..." — calling upon
inputomenSigns from the gods, the given portent
outputgloryKleos — the glory won, what endures
letdecreeFate declared, spoken into being
constfateMoira — unchangeable destiny
contexttidingsNews carried by herald or messenger

Control Flow

FunctionalHomericReference
repeat NN laborsThe labors of Heracles
for...infor each...amongAmong the host
loopordealRepeated trial, suffering that continues
untiluntilUnchanged
whilewhileUnchanged
choicecrossroadsWhere fates diverge
optionpathOne road of many
ifshouldEpic conditional
elifor shouldContinued conditional
elseotherwiseThe alternative fate

Error Handling

FunctionalHomericReference
tryventureSetting forth on the journey
catchshould ruin comeAté — divine ruin, disaster
finallyin the endThe inevitable conclusion
throwlamentThe hero's cry of anguish
retrypersistEnduring, trying again

Session Properties

FunctionalHomericReference
promptchargeThe quest given
modelmuseWhich muse inspires

Unchanged

These keywords already work or are too functional to replace sensibly:

  • **...** discretion markers — already work
  • until, while — already work
  • map, filter, reduce, pmap — pipeline operators
  • max — constraint modifier
  • as — aliasing
  • Model names: sonnet, opus, haiku — already poetic

Side-by-Side Comparison

Simple Program

# Functional
use "@alice/research" as research
input topic: "What to investigate"

agent helper:
model: sonnet

let findings = session: helper
prompt: "Research {topic}"

output summary = session "Summarize"
context: findings
# Homeric
invoke "@alice/research" as research
omen topic: "What to investigate"

hero helper:
muse: sonnet

decree findings = trial: helper
charge: "Research {topic}"

glory summary = trial "Summarize"
tidings: findings

Parallel Execution

# Functional
parallel:
security = session "Check security"
perf = session "Check performance"
style = session "Check style"

session "Synthesize review"
context: { security, perf, style }
# Homeric
host:
security = trial "Check security"
perf = trial "Check performance"
style = trial "Check style"

trial "Synthesize review"
tidings: { security, perf, style }

Loop with Condition

# Functional
loop until **the code is bug-free** (max: 5):
session "Find and fix bugs"
# Homeric
ordeal until **the code is bug-free** (max: 5):
trial "Find and fix bugs"

Error Handling

# Functional
try:
session "Risky operation"
catch as err:
session "Handle error"
context: err
finally:
session "Cleanup"
# Homeric
venture:
trial "Risky operation"
should ruin come as err:
trial "Handle error"
tidings: err
in the end:
trial "Cleanup"

Choice Block

# Functional
choice **the severity level**:
option "Critical":
session "Escalate immediately"
option "Minor":
session "Log for later"
# Homeric
crossroads **the severity level**:
path "Critical":
trial "Escalate immediately"
path "Minor":
trial "Log for later"

Conditionals

# Functional
if **has security issues**:
session "Fix security"
elif **has performance issues**:
session "Optimize"
else:
session "Approve"
# Homeric
should **has security issues**:
trial "Fix security"
or should **has performance issues**:
trial "Optimize"
otherwise:
trial "Approve"

Reusable Blocks

# Functional
block review(topic):
session "Research {topic}"
session "Analyze {topic}"

do review("quantum computing")
# Homeric
book review(topic):
trial "Research {topic}"
trial "Analyze {topic}"

do review("quantum computing")

Fixed Iteration

# Functional
repeat 12:
session "Complete task"
# Homeric
12 labors:
trial "Complete task"

Immutable Binding

# Functional
const config = { model: "opus", retries: 3 }
# Homeric
fate config = { muse: "opus", persist: 3 }

The Case For Homeric

  1. Universal recognition. Greek epics are foundational to Western literature.
  2. Heroic framing. Transforms mundane tasks into glorious trials.
  3. Natural fit. Heroes face trials, receive tidings, win glory—maps cleanly to agent/session/output.
  4. Gravitas. When you want programs to feel epic and consequential.
  5. Fate vs decree. const as fate (unchangeable) vs let as decree (declared but mutable) is intuitive.

The Case Against Homeric

  1. Grandiosity mismatch. "12 labors" for a simple loop may feel overblown.
  2. Western-centric. Greek epic tradition is culturally specific.
  3. Limited vocabulary. Fewer distinctive terms than Borges or folk.
  4. Potentially silly. Heroic language for mundane tasks risks bathos.

Key Homeric Concepts

TermMeaningUsed for
KleosGlory, fame that outlives yououtputglory
MoiraFate, one's allotted portionconstfate
AtéDivine ruin, blindness sent by godscatchshould ruin come
NostosThe return journey(not used, but could be finally)
XeniaGuest-friendship, hospitality(not used)
MuseDivine inspirationmodelmuse

Alternatives Considered

For hero (agent)

KeywordRejected because
championMore medieval than Homeric
warriorToo martial, not all tasks are battles
wandererToo passive

For trial (session)

KeywordRejected because
laborGood but reserved for repeat N labors
questMore medieval/RPG
taskToo plain

For host (parallel)

KeywordRejected because
armyToo specifically martial
fleetOnly works for naval metaphors
phalanxToo technical

Verdict

Preserved for benchmarking. The Homeric register offers gravitas and heroic framing. Best suited for:

  • Programs that feel like epic undertakings
  • Users who enjoy classical references
  • Contexts where "glory" as output feels appropriate

May cause unintentional bathos when applied to mundane tasks.