ux: compiler errors are derived Show dumps — no human-readable diagnostics #32
Labels
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
FrogOS/DSL#32
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
`DSL.Compile.compileResult` renders errors as `"domain error: " <> show domainErr` / `"validation error: " <> show validationErr`. End users editing /etc/frogos/configuration.hs will see:
```
validation error: AtSection (Location ProfileKind 0 "gaming") (IntraConflict "docker")
```
instead of something like:
```
profile "gaming": service "docker" is both enabled and disabled in the same section
```
Same pattern inside FromJSON parsers across IR (`fail . show`). DomainError also lacks context — `EmptyName` doesn't say which combinator received the empty name.
Suggest a `renderError :: ValidationError -> Text` / `renderDomainError` pretty-printer used by compile, keeping Show for debugging. This is the user-facing surface of the whole "invalid config doesn't compile" pitch — worth treating like UI copy.
yorunikakeru referenced this issue2026-06-15 13:33:41 +02:00