Copyright | (c) Rodrigo Setti 2017 |
---|---|
License | MIT |
Maintainer | rodrigosetti@gmail.com |
Stability | experimental |
Portability | POSIX |
Safe Haskell | None |
Language | Haskell2010 |
- data ProjectExpr
- data ProjectProperties = ProjectProperties {}
- newtype ProjectSystem = ProjectSystem {}
- data Binding
- newtype ProjectKey = ProjectKey {}
- data ProjAttribute
- newtype Trust = Trust {}
- newtype Cost = Cost {}
- newtype Progress = Progress {
- getProgress :: Float
- defaultProjectProps :: ProjectProperties
- defaultCost :: Cost
- defaultTrust :: Trust
- defaultProgress :: Progress
- defaultTaskProj :: ProjectProperties -> Binding
- bindingTitle :: Binding -> String
- cost :: ProjectSystem -> ProjectExpr -> Cost
- progress :: ProjectSystem -> ProjectExpr -> Progress
- trust :: ProjectSystem -> ProjectExpr -> Trust
- simplify :: ProjectSystem -> ProjectSystem
- simplifyProj :: ProjectExpr -> ProjectExpr
- prioritizeSys :: ProjectSystem -> ProjectSystem
- prioritizeProj :: ProjectSystem -> ProjectExpr -> ProjectExpr
Documentation
data ProjectExpr Source #
Structure of a project expression
data ProjectProperties Source #
Any binding (with a name) may have associated properties
newtype ProjectSystem Source #
A project system defines the bindins (mapping from names to expressions or tasks) and properties, which can be associated to any binding
A binding of a name can refer to an expression. If there are no associated expressions (i.e. equation) then it can have task-level properties
newtype ProjectKey Source #
data ProjAttribute Source #
defaultCost :: Cost Source #
defaultTrust :: Trust Source #
bindingTitle :: Binding -> String Source #
cost :: ProjectSystem -> ProjectExpr -> Cost Source #
Expected cost
progress :: ProjectSystem -> ProjectExpr -> Progress Source #
trust :: ProjectSystem -> ProjectExpr -> Trust Source #
Expected probability of succeeding
simplify :: ProjectSystem -> ProjectSystem Source #
Simplify a project binding structure
simplifyProj :: ProjectExpr -> ProjectExpr Source #
Simplify a project expression structure 1) transform singleton collections into it's only child 2) flatten same constructor of the collection
prioritizeSys :: ProjectSystem -> ProjectSystem Source #
Sort projects in the system order that minimizes cost
prioritizeProj :: ProjectSystem -> ProjectExpr -> ProjectExpr Source #
Sort project in order that minimizes cost