spec: configuration.hs compile/delivery pipeline undefined; FrogOS.Prelude does not exist #5

Open
opened 2026-06-11 15:37:08 +02:00 by yorunikakeru · 0 comments
Owner

Spec: user edits `/etc/frogos/configuration.hs`, "все примитивы доступны через FrogOS.Prelude без явных импортов".

Reality and open questions:

  1. No `FrogOS.Prelude` module exists. The DSL example app imports 5 modules explicitly (DSL, DSL.Builder, DSL.Condition, DSL.Power, DSL.Service).
  2. Nothing defines how configuration.hs becomes IR on a user host. Current entry point is a compiled-in example (`app/Main.hs` hardcodes the config). Does every FrogOS host carry a GHC toolchain? runghc? A pinned Nix-built compiler closure? What about compile times and error UX on `frogos switch`?
  3. configuration.hs is arbitrary Haskell executing at compile time — sandboxing/IO policy for evaluating user config is unstated.

This is the largest unbuilt piece between "DSL library" and "OS users can actually use" — worth a spec section before Planner work bakes in assumptions.

Spec: user edits \`/etc/frogos/configuration.hs\`, "все примитивы доступны через FrogOS.Prelude без явных импортов". Reality and open questions: 1. No \`FrogOS.Prelude\` module exists. The DSL example app imports 5 modules explicitly (DSL, DSL.Builder, DSL.Condition, DSL.Power, DSL.Service). 2. Nothing defines how configuration.hs becomes IR on a user host. Current entry point is a compiled-in example (\`app/Main.hs\` hardcodes the config). Does every FrogOS host carry a GHC toolchain? runghc? A pinned Nix-built compiler closure? What about compile times and error UX on \`frogos switch\`? 3. configuration.hs is arbitrary Haskell executing at compile time — sandboxing/IO policy for evaluating user config is unstated. This is the largest unbuilt piece between "DSL library" and "OS users can actually use" — worth a spec section before Planner work bakes in assumptions.
Sign in to join this conversation.
No labels
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
FrogOS/spec#5
No description provided.