# Module `Fix.DataFlow`

`DataFlow`

performs a forward data flow analysis over a directed graph.

`module Run : functor (M : Fix__.Sigs.MINIMAL_IMPERATIVE_MAPS) -> functor (P : Fix__.Sigs.MINIMAL_SEMI_LATTICE) -> functor (G : Fix__.Sigs.DATA_FLOW_GRAPH with type variable = M.key and type property = P.property) -> Fix__.Sigs.SOLUTION with type variable = G.variable and type property = P.property option`

`module ForOrderedType : functor (T : Fix__.Sigs.OrderedType) -> functor (P : Fix__.Sigs.MINIMAL_SEMI_LATTICE) -> functor (G : Fix__.Sigs.DATA_FLOW_GRAPH with type variable = T.t and type property = P.property) -> Fix__.Sigs.SOLUTION with type variable = G.variable and type property = P.property option`

`module ForHashedType : functor (T : Fix__.Sigs.HashedType) -> functor (P : Fix__.Sigs.MINIMAL_SEMI_LATTICE) -> functor (G : Fix__.Sigs.DATA_FLOW_GRAPH with type variable = T.t and type property = P.property) -> Fix__.Sigs.SOLUTION with type variable = G.variable and type property = P.property option`

`module ForType : functor (T : Fix__.Sigs.TYPE) -> functor (P : Fix__.Sigs.MINIMAL_SEMI_LATTICE) -> functor (G : Fix__.Sigs.DATA_FLOW_GRAPH with type variable = T.t and type property = P.property) -> Fix__.Sigs.SOLUTION with type variable = G.variable and type property = P.property option`

`module ForIntSegment : functor (K : sig ... end) -> functor (P : Fix__.Sigs.MINIMAL_SEMI_LATTICE) -> functor (G : Fix__.Sigs.DATA_FLOW_GRAPH with type variable = int and type property = P.property) -> Fix__.Sigs.SOLUTION with type variable = G.variable and type property = P.property option`