Safe Haskell | None |
---|

- observe :: Observable a => String -> a -> a
- newtype Observer = O (forall a. Observable a => String -> a -> a)
- type Observing a = a -> a
- class Observable a where
- runO :: IO a -> IO ()
- printO :: a -> IO ()
- putStrO :: String -> IO ()
- (<<) :: Observable a => ObserverM (a -> b) -> a -> ObserverM b
- thunk :: Observable a => a -> ObserverM a
- send :: a
- observeBase :: a -> Parent -> a
- observeOpaque :: String -> a -> Parent -> a
- debugO :: Monad m => t -> m [a]

# The main Hood API

observe :: Observable a => String -> a -> aSource

O (forall a. Observable a => String -> a -> a) |

class Observable a whereSource

# For advanced users, that want to render their own datatypes.

(<<) :: Observable a => ObserverM (a -> b) -> a -> ObserverM bSource

thunk :: Observable a => a -> ObserverM aSource

observeBase :: a -> Parent -> aSource

observeOpaque :: String -> a -> Parent -> aSource