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


-- | Simplistic D&D style dice-rolling system.
--   
--   Simplistic D&amp;D style dice-rolling system.
--   
--   <pre>
--   $ dice "2d10 + 2 * (d100 / d6)"
--   (5+2) + 2 * 64 / 2 =&gt; 71
--   </pre>
@package dice
@version 0.1.1

module Data.Random.Dice
data Expr a
Const :: String -> a -> Expr a
Plus :: Expr a -> Expr a -> Expr a
Minus :: Expr a -> Expr a -> Expr a
Times :: Expr a -> Expr a -> Expr a
Divide :: Expr a -> Expr a -> Expr a
foldExpr :: (String -> t -> t) -> (t -> t -> t) -> (t -> t -> t) -> (t -> t -> t) -> (t -> t -> t) -> Expr t -> t
evalExprWithDiv :: (Num a, Monad m) => (a -> a -> m a) -> Expr a -> m a
evalFractionalExpr :: (Eq a, Fractional a, MonadError String m) => Expr a -> m a
evalIntegralExpr :: (Integral a, MonadError String m) => Expr a -> m a
commute :: Monad m => (Expr a -> Expr a -> b) -> Expr (m a) -> Expr (m a) -> m b
runExpr :: Monad m => Expr (m a) -> m (Expr a)
fmtIntegralExpr :: (Show a, Integral a) => Expr a -> String
fmtIntegralListExpr :: (Show a, Integral a) => Expr [a] -> String
fmtSimple :: (Integral a, Show a) => Expr [a] -> String
fmtSimpleRational :: Expr [Integer] -> String
showScalarConst :: Show a => String -> a -> p -> String -> String
showListConst :: Show a => String -> a -> p -> String -> String
showSimpleConst :: (Ord a, Num a) => (a -> a -> ShowS) -> p -> [a] -> a -> ShowS
showSimpleListConst :: Show a => String -> [a] -> Int -> ShowS
showSimpleRationalConst :: p -> [Ratio Integer] -> Integer -> ShowS
showError :: Show a => ExceptT String Identity a -> ShowS
showErrorWith :: (t -> ShowS) -> ExceptT String Identity t -> ShowS
showDouble :: Double -> ShowS
showRational :: (Show a, Ord a, Num a, Num a, Eq a) => a -> Ratio a -> ShowS
showRationalWithDouble :: Ratio Integer -> ShowS
fmtExprPrec :: (String -> a -> Int -> ShowS) -> Expr a -> Int -> ShowS
rollEm :: String -> IO (Either ParseError String)
summarizeRollsOver :: Num a => Int -> [a] -> [a]
roll :: (Integral a, UniformRange a) => a -> a -> RVar [a]
parseExpr :: (Integral a, UniformRange a) => String -> String -> Either ParseError (Expr (RVar [a]))
diceLang :: TokenParser st
expr :: (Integral a, UniformRange a) => CharParser Bool (Expr (RVar [a]))
term :: (Integral a, UniformRange a) => CharParser Bool (Expr (RVar [a]))
primExp :: (Integral a, UniformRange a) => CharParser Bool (Expr (RVar [a]))
dieExp :: (Integral a, UniformRange a) => CharParser Bool (Expr (RVar [a]))
numExp :: Num a => CharParser st (Expr (RVar [a]))
number :: CharParser st (String, Integer)
positiveNumber :: CharParser st (String, Integer)
instance GHC.Show.Show a => GHC.Show.Show (Data.Random.Dice.Expr a)
instance GHC.Base.Functor Data.Random.Dice.Expr
