dice-0.1: Simplistic D&D style dice-rolling system.

Safe HaskellNone

Data.Random.Dice

Documentation

data Expr a Source

Constructors

Const String a 
Plus (Expr a) (Expr a) 
Minus (Expr a) (Expr a) 
Times (Expr a) (Expr a) 
Divide (Expr a) (Expr a) 

Instances

Functor Expr 
Show a => Show (Expr a) 

foldExpr :: (String -> t -> t1) -> (t1 -> t1 -> t1) -> (t1 -> t1 -> t1) -> (t1 -> t1 -> t1) -> (t1 -> t1 -> t1) -> Expr t -> t1Source

evalExprWithDiv :: (Num a, Monad m) => (a -> a -> m a) -> Expr a -> m aSource

commute :: Monad m => (Expr a -> Expr a1 -> b) -> Expr (m a) -> Expr (m a1) -> m bSource

runExpr :: Monad m => Expr (m a) -> m (Expr a)Source

showListConst :: Show a => String -> a -> t -> String -> StringSource

showSimpleConst :: (Num a, Ord a) => (a -> a1 -> ShowS) -> t -> [a1] -> a -> ShowSSource

showRational :: (Integral a1, Num a, Ord a, Show a1) => a -> Ratio a1 -> ShowSSource

fmtExprPrec :: (String -> a -> Int -> ShowS) -> Expr a -> Int -> ShowSSource

summarizeRollsOver :: Num a => Int -> [a] -> [a]Source

roll :: Integral a => a -> a -> RVar [a]Source

numExp :: Num a => CharParser st (Expr (RVar [a]))Source