-- 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