| Copyright | (c) Sebastian Graf 2017-2020 |
|---|---|
| License | ISC |
| Maintainer | sgraf1337@gmail.com |
| Portability | portable |
| Safe Haskell | None |
| Language | Haskell2010 |
Datafix.Worklist.Denotational
Description
Bridges the Datafix.Worklist solver for DataFlowFrameworks (solveProblem)
with the Datafix.Denotational approach, using MonadDatafix to describe
a Denotation.
Synopsis
- evalDenotation :: forall domain func. Datafixable domain => Forall (Currying (ParamTypes func)) => Denotation domain func -> IterationBound domain -> func
Documentation
Arguments
| :: Datafixable domain | |
| => Forall (Currying (ParamTypes func)) | |
| => Denotation domain func | A build plan for computing the denotation, possibly involving
fixed-point iteration factored through calls to |
| -> IterationBound domain | Whether the solution algorithm should respect a maximum bound on the
number of iterations per point. Pass |
| -> func |
evalDenotation denot ib returns a value in domain that is described by
the denotation denot.
It does so by building up the DataFlowFramework corresponding to denot
and solving the resulting problem with solveProblem, the documentation of
which describes in detail how to arrive at a stable denotation and what
the IterationBound ib, domain ~ Domain (DepM m) is for.