Copyright | (c) Sebastian Graf 2017-2020 |
---|---|
License | ISC |
Maintainer | sgraf1337@gmail.com |
Portability | portable |
Safe Haskell | None |
Language | Haskell2010 |
Bridges the Datafix.Worklist solver for DataFlowFramework
s (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
:: 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.