OPENFPDocsall docsSearch names, modules, packages, or :: a typeCtrl K

GHC 9.10.3

Modulemilestone-dsl-0.1.0GHC2024

Milestone.Types

The values the milestone language speaks. Each has Read and Show, and the wire is show: a host shows them and a client reads them back.

  • 7 types
  • 12 values
newtypenewtype Ref
#

An issue (ns/proj#N) or a merge request (ns/proj!N), the namespace possibly nested (package-setshaskellx#3). Built only by parseRef, makeRef, ref or a string literal, so a ref always names something a forge could hold. No record field: an update through one would skip the check.

Instances5Eq, Ord, Read, Show, IsString
  • Eq RefDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Ord RefDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Read RefDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Show RefDefined in milestone-dsl-0.1.0 · Milestone.Types

    Shown as its string literal; read back through parseRef, so a malformed ref cannot cross the wire.

  • IsString RefDefined in milestone-dsl-0.1.0 · Milestone.Types
valueparseRef :: String -> Maybe Ref
#

Accepts exactly NS/PROJ#N and NS/PROJ!N: two or more /-separated names, the marker, and a positive number written without leading zeros, so every ref has one spelling.

valueref :: String -> Ref
#

The ref a string spells, as a string literal is: partial, an error on a string that is not a ref, so a program written without OverloadedStrings still fails as it is folded, not later.

datadata RefKind
#

What a ref points at: an issue (#) or a merge request (!).

Instances6Bounded, Enum, Eq, Ord, Read, Show
  • Bounded RefKindDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Enum RefKindDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Eq RefKindDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Ord RefKindDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Read RefKindDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Show RefKindDefined in milestone-dsl-0.1.0 · Milestone.Types
newtypenewtype Due
#

A due date, a calendar date written YYYY-MM-DD. Built only by parseDue, due or a string literal, so the 30th of February cannot be due; no record field, for the reason Ref has none.

Instances5Eq, Ord, Read, Show, IsString
  • Eq DueDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Ord DueDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Read DueDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Show DueDefined in milestone-dsl-0.1.0 · Milestone.Types

    Shown as its string literal; read back through parseDue.

  • IsString DueDefined in milestone-dsl-0.1.0 · Milestone.Types
valueparseDue :: String -> Maybe Due
#

Accepts exactly the YYYY-MM-DD spellings of real dates, the 29th of February in leap years only.

valuedue :: String -> Due
#

The due date a string spells, as a string literal is: partial, an error on a string that is not a calendar date, as for ref.

datadata MilestoneState
#
Instances6Bounded, Enum, Eq, Ord, Read, Show
datadata Milestone
#

A milestone as it crosses the wire. milestoneDone is the members that are done, so it is a subset of milestoneMembers; neither repeats a ref.

Instances3Eq, Read, Show
  • Eq MilestoneDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Read MilestoneDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Show MilestoneDefined in milestone-dsl-0.1.0 · Milestone.Types
datadata Tally
#

How far a milestone has got: tallyDone of its tallyTotal members are done. Counts rather than a ratio, so "none of three" and "no members" are different answers and a reader can print "2 of 5".

Instances3Eq, Read, Show
  • Eq TallyDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Read TallyDefined in milestone-dsl-0.1.0 · Milestone.Types
  • Show TallyDefined in milestone-dsl-0.1.0 · Milestone.Types