module DDC.Core.Flow.Prim.KiConFlow
( readKiConFlow
, kRate
, kProc )
where
import DDC.Core.Flow.Prim.Base
import DDC.Core.Exp.Simple.Exp
import DDC.Type.Compounds
import DDC.Base.Pretty
import Control.DeepSeq
instance NFData KiConFlow where
rnf !_ = ()
instance Pretty KiConFlow where
ppr con
= case con of
KiConFlowRate -> text "Rate"
KiConFlowProc -> text "Proc"
readKiConFlow :: String -> Maybe KiConFlow
readKiConFlow str
= case str of
"Rate" -> Just $ KiConFlowRate
"Proc" -> Just $ KiConFlowProc
_ -> Nothing
kRate = TCon (TyConBound (UPrim (NameKiConFlow KiConFlowRate) sProp) sProp)
kProc = TCon (TyConBound (UPrim (NameKiConFlow KiConFlowProc) sProp) sProp)