-- Hoogle documentation, generated by Haddock -- See Hoogle, http://www.haskell.org/hoogle/ -- | 'Show' instances for Lambdabot -- -- This package provides ShowQ, ShowFun, and SimpleReflect. -- -- ShowFun gives us Typeable instances for neutering IO expressions. -- -- ShowQ adds SmallCheck & QuickCheck support. -- -- And SimpleReflect allows us to literally see how functions -- expand, through appropriate Show magic. See -- http://twan.home.fmf.nl/blog/haskell/simple-reflection-of-expressions.details. @package show @version 0.4.1.2 -- | Simple reflection of Haskell expressions containing variables. module SimpleReflect data Expr -- | A variable var :: String -> Expr fun :: FromExpr a => String -> a -- | Force something to be an expression expr :: Expr -> Expr -- | Reduce (evaluate) an expression once for example 1 + 2 + 3 + 4 ==> -- 3 + 3 + 4 reduce :: Expr -> Expr a, z, y, x, w, v, u, t, s, r, q, p, o, n, m, l, k, j, i, e, d, c, b :: Expr f, h, g :: FromExpr a => a instance Typeable Expr instance Data Expr instance Eq Fixity instance Bounded Expr instance Enum Expr instance Floating Expr instance Fractional Expr instance Integral Expr instance Real Expr instance Num Expr instance Ord Expr instance Eq Expr instance (Show a, FromExpr b) => FromExpr (a -> b) instance FromExpr Expr instance Show Expr module ShowFun instance Typeable a => Show (IO a) instance (Typeable a, Typeable b) => Show (a -> b) module ShowQ mysmallcheck :: Testable prop => prop -> () mysmallcheck' :: Testable prop => prop -> IO () myquickcheck :: Testable prop => prop -> String myquickcheck' :: Testable prop => prop -> IO String tests :: Testable prop => prop -> Int -> [[String]] -> IO String done :: String -> Int -> [[String]] -> IO String