Safe Haskell | Safe |
---|---|
Language | Haskell98 |
- data Variable w s a
- globalVariable :: ST s (Variable w s a)
- data T w s a
- localVariable :: T w s (Variable w s a)
- constant :: a -> T w s (Variable w s a)
- assignment2 :: Monoid w => (a -> Writer w b) -> Variable w s a -> Variable w s b -> T w s ()
- assignment3 :: Monoid w => (a -> b -> Writer w c) -> Variable w s a -> Variable w s b -> Variable w s c -> T w s ()
- data Apply w s a
- arg :: Monoid w => Variable w s a -> Apply w s a
- runApply :: Monoid w => Apply w s (Writer w a) -> Variable w s a -> T w s ()
- solve :: Monoid w => T w s a -> WriterT w (ST s) a
- query :: Variable w s a -> ST s (Maybe a)
Preparation
globalVariable :: ST s (Variable w s a) Source #
Posing statements
localVariable :: T w s (Variable w s a) Source #
assignment2 :: Monoid w => (a -> Writer w b) -> Variable w s a -> Variable w s b -> T w s () Source #
assignment3 :: Monoid w => (a -> b -> Writer w c) -> Variable w s a -> Variable w s b -> Variable w s c -> T w s () Source #
arg :: Monoid w => Variable w s a -> Apply w s a Source #
This function allows to generalize assignment2
and assignment3
to more arguments.
You could achieve the same with nested applications of assignment3 (,)
.