Modulemilestone-dsl-0.1.0GHC2024
Milestone.Model
Forge-wide milestones as pure state. Every operation is total; one that can be refused says why in a MilestoneError.
Being done belongs to a ref, not to a milestone: closing an issue finishes it in every milestone at once. So the model keeps one set of done refs beside the milestones, and a milestone's progress is how much of its membership that set covers, counted; its share is that as a proportion.
- 3 types
- 17 values
- Packagemilestone-dsl-0.1.0
- Exports20
- LanguageGHC2024
- LicenceMIT
- SourceModel.hs
What an author writes, and may later revise.
Constructors
Instances3Eq, Read, Show
Eq MilestoneErrorDefined in milestone-dsl-0.1.0 · Milestone.ModelRead MilestoneErrorDefined in milestone-dsl-0.1.0 · Milestone.ModelShow MilestoneErrorDefined in milestone-dsl-0.1.0 · Milestone.Model
Opens a milestone with no members under the next free id. The author and the creation time come from whoever interprets the call.
Replaces what the author wrote, closed or open; membership and state are untouched.
Members are a set: assigning a member again changes nothing. A closed milestone's membership is settled, so it refuses until reopened.
Unassigning a ref that is not a member changes nothing; a closed milestone refuses, as for assign.
Marks a ref done everywhere, as closing its issue would, closed milestones included.
Every milestone, in id order.
Counted as sets, so a wire value with repeats cannot count a ref twice or a done ref that is not a member.