Add ez-assistant and kerberos service folders
This commit is contained in:
@@ -0,0 +1,346 @@
|
||||
---
|
||||
role: experimental
|
||||
summary: |
|
||||
Homeric register for OpenProse—an epic/heroic alternative keyword set.
|
||||
Heroes, trials, fates, and glory. For benchmarking against the functional register.
|
||||
status: draft
|
||||
requires: prose.md
|
||||
---
|
||||
|
||||
# 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
|
||||
|
||||
| Functional | Homeric | Reference |
|
||||
|------------|---------|-----------|
|
||||
| `agent` | `hero` | The one who acts, who strives |
|
||||
| `session` | `trial` | Each task is a labor, a test |
|
||||
| `parallel` | `host` | An army moving as one |
|
||||
| `block` | `book` | A division of the epic |
|
||||
|
||||
### Composition & Binding
|
||||
|
||||
| Functional | Homeric | Reference |
|
||||
|------------|---------|-----------|
|
||||
| `use` | `invoke` | "Sing, O Muse..." — calling upon |
|
||||
| `input` | `omen` | Signs from the gods, the given portent |
|
||||
| `output` | `glory` | Kleos — the glory won, what endures |
|
||||
| `let` | `decree` | Fate declared, spoken into being |
|
||||
| `const` | `fate` | Moira — unchangeable destiny |
|
||||
| `context` | `tidings` | News carried by herald or messenger |
|
||||
|
||||
### Control Flow
|
||||
|
||||
| Functional | Homeric | Reference |
|
||||
|------------|---------|-----------|
|
||||
| `repeat N` | `N labors` | The labors of Heracles |
|
||||
| `for...in` | `for each...among` | Among the host |
|
||||
| `loop` | `ordeal` | Repeated trial, suffering that continues |
|
||||
| `until` | `until` | Unchanged |
|
||||
| `while` | `while` | Unchanged |
|
||||
| `choice` | `crossroads` | Where fates diverge |
|
||||
| `option` | `path` | One road of many |
|
||||
| `if` | `should` | Epic conditional |
|
||||
| `elif` | `or should` | Continued conditional |
|
||||
| `else` | `otherwise` | The alternative fate |
|
||||
|
||||
### Error Handling
|
||||
|
||||
| Functional | Homeric | Reference |
|
||||
|------------|---------|-----------|
|
||||
| `try` | `venture` | Setting forth on the journey |
|
||||
| `catch` | `should ruin come` | Até — divine ruin, disaster |
|
||||
| `finally` | `in the end` | The inevitable conclusion |
|
||||
| `throw` | `lament` | The hero's cry of anguish |
|
||||
| `retry` | `persist` | Enduring, trying again |
|
||||
|
||||
### Session Properties
|
||||
|
||||
| Functional | Homeric | Reference |
|
||||
|------------|---------|-----------|
|
||||
| `prompt` | `charge` | The quest given |
|
||||
| `model` | `muse` | Which 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
|
||||
|
||||
```prose
|
||||
# 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
|
||||
```
|
||||
|
||||
```prose
|
||||
# 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
|
||||
|
||||
```prose
|
||||
# Functional
|
||||
parallel:
|
||||
security = session "Check security"
|
||||
perf = session "Check performance"
|
||||
style = session "Check style"
|
||||
|
||||
session "Synthesize review"
|
||||
context: { security, perf, style }
|
||||
```
|
||||
|
||||
```prose
|
||||
# Homeric
|
||||
host:
|
||||
security = trial "Check security"
|
||||
perf = trial "Check performance"
|
||||
style = trial "Check style"
|
||||
|
||||
trial "Synthesize review"
|
||||
tidings: { security, perf, style }
|
||||
```
|
||||
|
||||
### Loop with Condition
|
||||
|
||||
```prose
|
||||
# Functional
|
||||
loop until **the code is bug-free** (max: 5):
|
||||
session "Find and fix bugs"
|
||||
```
|
||||
|
||||
```prose
|
||||
# Homeric
|
||||
ordeal until **the code is bug-free** (max: 5):
|
||||
trial "Find and fix bugs"
|
||||
```
|
||||
|
||||
### Error Handling
|
||||
|
||||
```prose
|
||||
# Functional
|
||||
try:
|
||||
session "Risky operation"
|
||||
catch as err:
|
||||
session "Handle error"
|
||||
context: err
|
||||
finally:
|
||||
session "Cleanup"
|
||||
```
|
||||
|
||||
```prose
|
||||
# Homeric
|
||||
venture:
|
||||
trial "Risky operation"
|
||||
should ruin come as err:
|
||||
trial "Handle error"
|
||||
tidings: err
|
||||
in the end:
|
||||
trial "Cleanup"
|
||||
```
|
||||
|
||||
### Choice Block
|
||||
|
||||
```prose
|
||||
# Functional
|
||||
choice **the severity level**:
|
||||
option "Critical":
|
||||
session "Escalate immediately"
|
||||
option "Minor":
|
||||
session "Log for later"
|
||||
```
|
||||
|
||||
```prose
|
||||
# Homeric
|
||||
crossroads **the severity level**:
|
||||
path "Critical":
|
||||
trial "Escalate immediately"
|
||||
path "Minor":
|
||||
trial "Log for later"
|
||||
```
|
||||
|
||||
### Conditionals
|
||||
|
||||
```prose
|
||||
# Functional
|
||||
if **has security issues**:
|
||||
session "Fix security"
|
||||
elif **has performance issues**:
|
||||
session "Optimize"
|
||||
else:
|
||||
session "Approve"
|
||||
```
|
||||
|
||||
```prose
|
||||
# Homeric
|
||||
should **has security issues**:
|
||||
trial "Fix security"
|
||||
or should **has performance issues**:
|
||||
trial "Optimize"
|
||||
otherwise:
|
||||
trial "Approve"
|
||||
```
|
||||
|
||||
### Reusable Blocks
|
||||
|
||||
```prose
|
||||
# Functional
|
||||
block review(topic):
|
||||
session "Research {topic}"
|
||||
session "Analyze {topic}"
|
||||
|
||||
do review("quantum computing")
|
||||
```
|
||||
|
||||
```prose
|
||||
# Homeric
|
||||
book review(topic):
|
||||
trial "Research {topic}"
|
||||
trial "Analyze {topic}"
|
||||
|
||||
do review("quantum computing")
|
||||
```
|
||||
|
||||
### Fixed Iteration
|
||||
|
||||
```prose
|
||||
# Functional
|
||||
repeat 12:
|
||||
session "Complete task"
|
||||
```
|
||||
|
||||
```prose
|
||||
# Homeric
|
||||
12 labors:
|
||||
trial "Complete task"
|
||||
```
|
||||
|
||||
### Immutable Binding
|
||||
|
||||
```prose
|
||||
# Functional
|
||||
const config = { model: "opus", retries: 3 }
|
||||
```
|
||||
|
||||
```prose
|
||||
# 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
|
||||
|
||||
| Term | Meaning | Used for |
|
||||
|------|---------|----------|
|
||||
| Kleos | Glory, fame that outlives you | `output` → `glory` |
|
||||
| Moira | Fate, one's allotted portion | `const` → `fate` |
|
||||
| Até | Divine ruin, blindness sent by gods | `catch` → `should ruin come` |
|
||||
| Nostos | The return journey | (not used, but could be `finally`) |
|
||||
| Xenia | Guest-friendship, hospitality | (not used) |
|
||||
| Muse | Divine inspiration | `model` → `muse` |
|
||||
|
||||
---
|
||||
|
||||
## Alternatives Considered
|
||||
|
||||
### For `hero` (agent)
|
||||
|
||||
| Keyword | Rejected because |
|
||||
|---------|------------------|
|
||||
| `champion` | More medieval than Homeric |
|
||||
| `warrior` | Too martial, not all tasks are battles |
|
||||
| `wanderer` | Too passive |
|
||||
|
||||
### For `trial` (session)
|
||||
|
||||
| Keyword | Rejected because |
|
||||
|---------|------------------|
|
||||
| `labor` | Good but reserved for `repeat N labors` |
|
||||
| `quest` | More medieval/RPG |
|
||||
| `task` | Too plain |
|
||||
|
||||
### For `host` (parallel)
|
||||
|
||||
| Keyword | Rejected because |
|
||||
|---------|------------------|
|
||||
| `army` | Too specifically martial |
|
||||
| `fleet` | Only works for naval metaphors |
|
||||
| `phalanx` | Too 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.
|
||||
Reference in New Issue
Block a user