Compile .hs configuration into validated IR #3
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?
Parent: #1
Goal
Provide the compiler entry point that evaluates a FrogOS Haskell eDSL configuration, builds UnvalidatedConfiguration, validates it, and emits versioned JSON.
Tasks
• Define a deterministic entry point for a configuration value.
• Compile .hs files with their ordinary explicit Haskell imports.
• Do not inject a hidden FrogOS prelude or automatic imports.
• Convert builder output through validate :: UnvalidatedConfiguration -> Either [ValidationError] IR.
• Serialize only successful IR values.
• Preserve useful source and configuration context in errors where feasible.
Out of scope
• Activation plans and system changes.
• Dynamic environment checks.
• swamp switch and engine orchestration.
• A separate DSL-level import resolver.
Acceptance criteria
• Valid configuration with explicit imports produces one stable JSON document.
• Missing imports produce ordinary useful Haskell compiler errors.
• Invalid configuration exits without JSON and reports accumulated validation errors.
• Same configuration produces deterministic output.
Implement hidden Haskell evaluator for .frog configsto Compile .frog configuration into validated IRCompile .frog configuration into validated IRto Compile .hs configuration into validated IR