datafix-0.0.0.1: Fixing data-flow problems

Copyright(c) Sebastian Graf 2018
LicenseISC
Maintainersgraf1337@gmail.com
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Datafix.ProblemBuilder

Description

Offers an instance for MonadDatafix based on NodeAllocator.

Synopsis

Documentation

data ProblemBuilder m a Source #

Constructs a build plan for a DataFlowProblem by tracking allocation of Nodes mapping to ChangeDetectors and transfer functions.

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.