datafix-0.0.1.0: Fixing data-flow problems

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

Datafix.Worklist.Denotational

Description

Bridges the Datafix.Worklist solver for DataFlowFrameworks (solveProblem) with the Datafix.Denotational approach, using MonadDatafix to describe a Denotation.

Synopsis

Documentation

evalDenotation Source #

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 datafix.

-> IterationBound domain

Whether the solution algorithm should respect a maximum bound on the number of iterations per point. Pass NeverAbort if you don't care.

-> 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.