[Haskell-beginners] Using the state monad.
stephen.tetley at gmail.com
Sun Aug 8 09:32:38 EDT 2010
On 7 August 2010 18:14, dan portin <danportin at gmail.com> wrote:
> So my question, finally, is: what would be the general structure
> of the implementation of the state monad for a tableau-style theorem prover
> look like, schematically.
One would need a detailed knowledge of tableau-style theorem provers
to answer that...
In the code above Tableau is the same type after rewriting. If that's
the case, maybe you don't need a state monad solution. However, if you
are labelling something with /w/ which looks like an integer from your
explanation, then first you want to make a variation of the Tableau
datatype that holds the label, thus rewrite would be a type changing
rewrite :: Tableau -> Tableau'
Where Tableau' is an alternative definition of Tableau that includes a
field for /w/ (possibly in the auxiliary types Status or Expr, which
would likewise need an alternative definition).
If this is what you want to do, you should be able to thread "number
supply" through the rewrite and rule functions fairly simply with a
rewrite :: Tableau -> State Int Tableau'
More information about the Beginners