Skip to content

Instantly share code, notes, and snippets.

@brenoafb
Created September 21, 2020 03:25
Show Gist options
  • Select an option

  • Save brenoafb/c4eb428ce2d371f40d73e19fbccc4cf1 to your computer and use it in GitHub Desktop.

Select an option

Save brenoafb/c4eb428ce2d371f40d73e19fbccc4cf1 to your computer and use it in GitHub Desktop.
type Expr = String
data Model = ModelStub
data FDTMC = FDTMCStub
data RDG a = RDGStub a
data ADD a = ADDStub a
instance Functor RDG where
fmap = undefined
buildRDG :: Model -> RDG FDTMC
buildRDG = undefined
checkModel :: FDTMC -> Expr
checkModel = undefined
transform :: RDG FDTMC -> RDG Expr
transform = fmap checkModel
getADD :: Expr -> ADD (Either String Double)
getADD = undefined
buildADDs :: RDG Expr -> RDG (ADD Double)
buildADDs rdg = substituteDependencies $ fmap getADD rdg
substituteDependencies :: RDG (ADD (Either String Double)) -> RDG (ADD Double)
substituteDependencies = undefined
evaluate :: RDG (ADD Double) -> ADD Double
evaluate = undefined
getFMADD :: Model -> ADD Double
getFMADD = undefined
addTimes :: Num a => ADD a -> ADD a -> ADD a
addTimes = undefined
featureFamilyAnalysis :: Model -> ADD Double
featureFamilyAnalysis m =
addTimes featureModel $ evaluate (substituteDependencies $ getADD . checkModel <$> buildRDG m)
where featureModel = getFMADD m
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment