Copyright | (c) Sebastian Graf 2018 |
---|---|
License | ISC |
Maintainer | sgraf1337@gmail.com |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
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
Node
s mapping to ChangeDetector
s and transfer functions.
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 max
imum node of the problem as a proof for
its denseness.