May 2025. Designing DSL. Two approaches, both look reasonable. Can't choose.
Option A: models as classes, inheritance, decorators. Option B: models as objects, composition, functions.
What I did
Created two folders: plans/DSL-A/ and plans/DSL-B/. Each with full description.
For each option:
- What the code looks like
- How generation works
- What limitations
- Usage examples
Result
While writing option A - found 3 problems. While writing option B - realized it's simpler.
Didn't have to write code to understand. Describing was enough.
Choice
Option B. Less magic, easier to test, AI generates better.
Didn't delete folder A. Might need to understand why I didn't do it that way.
When to use
When the decision is not obvious and consequences are big. Not for every function, but for architectural decisions.
An hour on two descriptions saves days on rewriting.