napkin-1.0.0
Safe HaskellNone
LanguageGHC2021

Napkin.Utils.Eta.IncDepEta

Description

Incremental ETA - fast recalculation cumulative time required for finishing dependent tasks

Documentation

type IncDepEtaC (gr :: Type -> Type -> Type) a b k w = (DynGraph gr, Weight w, Show a, Show b, Show k, Eq k, Hashable k) #

data IncDepEta (gr :: k -> k1 -> Type) (a :: k) (b :: k1) k2 w #

Constructors

IncDepEta 

Fields

Instances

Instances details
Generic (IncDepEta gr a b k3 w) # 
Instance details

Defined in Napkin.Utils.Eta.IncDepEta

Associated Types

type Rep (IncDepEta gr a b k3 w) 
Instance details

Defined in Napkin.Utils.Eta.IncDepEta

type Rep (IncDepEta gr a b k3 w) = D1 ('MetaData "IncDepEta" "Napkin.Utils.Eta.IncDepEta" "napkin-1.0.0-5YkWAC9Wc776PT0LDghaFb" 'False) (C1 ('MetaCons "IncDepEta" 'PrefixI 'True) ((S1 ('MetaSel ('Just "depG") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (gr a b)) :*: S1 ('MetaSel ('Just "roots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Node])) :*: (S1 ('MetaSel ('Just "maxChildWeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Node w)) :*: S1 ('MetaSel ('Just "nodeIdx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap k3 Node)))))

Methods

from :: IncDepEta gr a b k3 w -> Rep (IncDepEta gr a b k3 w) x #

to :: Rep (IncDepEta gr a b k3 w) x -> IncDepEta gr a b k3 w #

(DynGraph gr, Show a, Show b) => Show (IncDepEta gr a b k w) # 
Instance details

Defined in Napkin.Utils.Eta.IncDepEta

Methods

showsPrec :: Int -> IncDepEta gr a b k w -> ShowS #

show :: IncDepEta gr a b k w -> String #

showList :: [IncDepEta gr a b k w] -> ShowS #

type Rep (IncDepEta gr a b k3 w) # 
Instance details

Defined in Napkin.Utils.Eta.IncDepEta

type Rep (IncDepEta gr a b k3 w) = D1 ('MetaData "IncDepEta" "Napkin.Utils.Eta.IncDepEta" "napkin-1.0.0-5YkWAC9Wc776PT0LDghaFb" 'False) (C1 ('MetaCons "IncDepEta" 'PrefixI 'True) ((S1 ('MetaSel ('Just "depG") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (gr a b)) :*: S1 ('MetaSel ('Just "roots") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 [Node])) :*: (S1 ('MetaSel ('Just "maxChildWeight") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap Node w)) :*: S1 ('MetaSel ('Just "nodeIdx") 'NoSourceUnpackedness 'NoSourceStrictness 'DecidedLazy) (Rec0 (HashMap k3 Node)))))

etaNow :: forall (gr :: Type -> Type -> Type) a b k w. IncDepEtaC gr a b k w => IncDepEta gr a b k w -> w #

markNodeDone :: forall (gr :: Type -> Type -> Type) a b k w. IncDepEtaC gr a b k w => IncDepEta gr a b k w -> k -> IncDepEta gr a b k w #

mkIncDepEta :: IncDepEtaC gr a b k w => gr a b -> (a -> w) -> (a -> k) -> Either Text (IncDepEta gr a b k w) #

type EtaType = IncDepEta Gr TableName () TableName NominalDiffTime #