-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | The project management tool for hackers -- -- Master Plan is a tool that parses files that describes projects using -- a simple and powerful syntax in which project structures are encoded -- using a special algebra with combinators for specifying the different -- kinds of dependencies. It also supports estimations of cost and risk, -- as well as some metadata. The tool is then able to compute the -- priority of execution that minimizes costs, and also output a nice -- visual representation of the structure. Becase the plan description is -- plan text, it's portable and fits well within source control. @package master-plan @version 0.3.1 module MasterPlan.Data type ProjectExpr = Project Void -- | When using to reference projects by name type ProjectKey = String -- | Structure of a project expression data Project e Sum :: ProjectProperties -> (NonEmpty (Project e)) -> Project e Product :: ProjectProperties -> (NonEmpty (Project e)) -> Project e Sequence :: ProjectProperties -> (NonEmpty (Project e)) -> Project e Atomic :: ProjectProperties -> Cost -> Trust -> Progress -> Project e Annotated :: e -> Project e -- | Any binding (with a name) may have associated properties data ProjectProperties ProjectProperties :: Maybe String -> Maybe String -> Maybe String -> Maybe String -> ProjectProperties [title] :: ProjectProperties -> Maybe String [description] :: ProjectProperties -> Maybe String [url] :: ProjectProperties -> Maybe String [owner] :: ProjectProperties -> Maybe String data ProjAttribute PTitle :: ProjAttribute PDescription :: ProjAttribute PUrl :: ProjAttribute POwner :: ProjAttribute PCost :: ProjAttribute PTrust :: ProjAttribute PProgress :: ProjAttribute newtype Trust Trust :: Float -> Trust [getTrust] :: Trust -> Float newtype Cost Cost :: Float -> Cost [getCost] :: Cost -> Float newtype Progress Progress :: Float -> Progress [getProgress] :: Progress -> Float defaultProjectProps :: ProjectProperties defaultCost :: Cost defaultTrust :: Trust defaultProgress :: Progress defaultAtomic :: Project a properties :: Project a -> Maybe ProjectProperties -- | Expected cost cost :: ProjectExpr -> Cost progress :: ProjectExpr -> Progress -- | Expected probability of succeeding trust :: ProjectExpr -> Trust -- | Simplify a project expression structure 1) transform singleton -- collections into it's only child 2) flatten same constructor of the -- collection simplify :: Project a -> Project a subprojects :: Project a -> [Project a] -- | Sort project in order that minimizes cost prioritize :: ProjectExpr -> ProjectExpr instance GHC.Enum.Bounded MasterPlan.Data.ProjAttribute instance GHC.Enum.Enum MasterPlan.Data.ProjAttribute instance GHC.Classes.Eq MasterPlan.Data.ProjAttribute instance Data.Data.Data e => Data.Data.Data (MasterPlan.Data.Project e) instance GHC.Show.Show e => GHC.Show.Show (MasterPlan.Data.Project e) instance GHC.Classes.Eq e => GHC.Classes.Eq (MasterPlan.Data.Project e) instance Data.Data.Data MasterPlan.Data.ProjectProperties instance GHC.Show.Show MasterPlan.Data.ProjectProperties instance GHC.Classes.Eq MasterPlan.Data.ProjectProperties instance GHC.Real.Fractional MasterPlan.Data.Progress instance GHC.Real.RealFrac MasterPlan.Data.Progress instance GHC.Real.Real MasterPlan.Data.Progress instance GHC.Num.Num MasterPlan.Data.Progress instance GHC.Classes.Ord MasterPlan.Data.Progress instance Data.Data.Data MasterPlan.Data.Progress instance GHC.Classes.Eq MasterPlan.Data.Progress instance GHC.Show.Show MasterPlan.Data.Progress instance GHC.Real.Fractional MasterPlan.Data.Cost instance GHC.Real.RealFrac MasterPlan.Data.Cost instance GHC.Real.Real MasterPlan.Data.Cost instance GHC.Num.Num MasterPlan.Data.Cost instance GHC.Classes.Ord MasterPlan.Data.Cost instance Data.Data.Data MasterPlan.Data.Cost instance GHC.Classes.Eq MasterPlan.Data.Cost instance GHC.Show.Show MasterPlan.Data.Cost instance GHC.Real.Fractional MasterPlan.Data.Trust instance GHC.Real.RealFrac MasterPlan.Data.Trust instance GHC.Real.Real MasterPlan.Data.Trust instance GHC.Num.Num MasterPlan.Data.Trust instance GHC.Classes.Ord MasterPlan.Data.Trust instance Data.Data.Data MasterPlan.Data.Trust instance GHC.Classes.Eq MasterPlan.Data.Trust instance GHC.Show.Show MasterPlan.Data.Trust instance GHC.Show.Show MasterPlan.Data.ProjAttribute module MasterPlan.Internal.Debug -- | Print a Project Expression in a Project System to standard output. The -- expression is printed in a tree like fashion. printProject :: ProjectExpr -> IO () module MasterPlan.Parser -- | When using to reference projects by name type ProjectKey = String runParser :: Bool -> FilePath -> Text -> ProjectKey -> Either String ProjectExpr module MasterPlan.Backend.Identity -- | Plain text renderer render :: Project a -> [ProjAttribute] -> Text module MasterPlan.Backend.Graph -- | The main rendering function render :: FilePath -> RenderOptions -> ProjectExpr -> IO () -- | Render a multi-line text to file renderText :: FilePath -> RenderOptions -> [String] -> IO () -- | Options for rendering data RenderOptions RenderOptions :: Bool -> Integer -> Integer -> [ProjAttribute] -> RenderOptions -- | Whether to color boxes depending on progress [colorByProgress] :: RenderOptions -> Bool -- | The width of the output image [renderWidth] :: RenderOptions -> Integer -- | The height of the output image [renderHeight] :: RenderOptions -> Integer -- | Attributes that should be rendered [whitelistedAttrs] :: RenderOptions -> [ProjAttribute] instance GHC.Show.Show MasterPlan.Backend.Graph.RenderOptions instance GHC.Classes.Eq MasterPlan.Backend.Graph.RenderOptions