| Copyright | (c) Sebastian Graf 2018 |
|---|---|
| License | ISC |
| Maintainer | sgraf1337@gmail.com |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Datafix.ProblemBuilder
Description
Offers an instance for MonadDatafix based on NodeAllocator.
- data ProblemBuilder m a
- buildProblem :: forall m. MonadDependency m => Currying (ParamTypes (Domain m)) (ReturnType (Domain m) -> ReturnType (Domain m) -> Bool) => ProblemBuilder m (LiftedFunc (Domain m) m) -> (Node, Node, DataFlowProblem m)
Documentation
data ProblemBuilder m a Source #
Constructs a build plan for a DataFlowProblem by tracking allocation of
Nodes mapping to ChangeDetectors and transfer functions.
Instances
| MonadDependency m => MonadDatafix m (ProblemBuilder m) Source # | |
| Monad (ProblemBuilder m) Source # | |
| Functor (ProblemBuilder m) Source # | |
| Applicative (ProblemBuilder m) Source # | |
buildProblem :: forall m. MonadDependency m => Currying (ParamTypes (Domain m)) (ReturnType (Domain m) -> ReturnType (Domain m) -> Bool) => ProblemBuilder m (LiftedFunc (Domain m) m) -> (Node, Node, DataFlowProblem m) Source #
(root, max, dfp) = buildProblem builder executes the build plan specified
by builder and returns the resulting DataFlowProblem dfp, as well as
the root Node denoting the transfer function returned by the
ProblemBuilder action and the maximum node of the problem as a proof for
its denseness.