-- Hoogle documentation, generated by Haddock
-- See Hoogle, http://www.haskell.org/hoogle/


-- | Placeholder package to preserve debug ability via conditional builds
--   
--   Placeholder package to preserve debug ability via conditional builds
@package NoHoed
@version 0.1.1


-- | This module exports noop but type compatible versions of the most
--   common combinators from the Hoed package. It is designed to be used in
--   conjunction with Cabal flags to preserve the ability to debug a
--   program without the overhead.
module Debug.Hoed.Pure
observe :: String -> a -> a
observeBase :: a -> parent -> a
observeOpaque :: String -> a -> parent -> a
constrainBase :: a -> a -> a
send :: String -> ObserverM a -> parent -> a
runO :: IO a -> IO ()
printO :: (Show a) => a -> IO ()
class Observable a
observer :: Observable a => a -> b -> a
constrain :: Observable a => a -> a -> a
newtype Observer
O :: (forall a. (Observable a) => String -> a -> a) -> Observer
(<<) :: (Observable a) => ObserverM (a -> b) -> a -> ObserverM b
infixl 9 <<

-- | Representable types of kind *. This class is derivable in GHC with the
--   DeriveGeneric flag on.
class Generic a
instance GHC.Base.Monad Debug.Hoed.Pure.ObserverM
instance GHC.Base.Applicative Debug.Hoed.Pure.ObserverM
instance GHC.Base.Functor Debug.Hoed.Pure.ObserverM
instance Debug.Hoed.Pure.Observable a

module Debug.Hoed.Pure.TH
obs :: DecsQ -> DecsQ
