probability-0.2.2: Probabilistic Functional ProgrammingSource codeContentsIndex
Numeric.Probability.Example.Collection
Contents
Example collections
marbles
cards
Example
Synopsis
type Collection a = [a]
type Probability = Rational
selectOne :: Fractional prob => StateT (Collection a) (T prob) a
select1 :: Fractional prob => Collection a -> T prob a
select2 :: Fractional prob => Collection a -> T prob (a, a)
select :: Fractional prob => Int -> Collection a -> T prob [a]
data Marble
= R
| G
| B
bucket :: Collection Marble
jar :: Collection Marble
pRGB :: Probability
pRG :: Probability
data Suit
= Club
| Spade
| Heart
| Diamond
data Rank
= Plain Int
| Jack
| Queen
| King
| Ace
type Card = (Rank, Suit)
plains :: [Rank]
faces :: [Rank]
isFace :: Card -> Bool
isPlain :: Card -> Bool
ranks :: [Rank]
suits :: [Suit]
deck :: Collection Card
value :: Card -> Int
totalValue :: Collection Card -> Int
draw :: Fractional prob => ([Card], Collection Card) -> T prob ([Card], Collection Card)
drawF :: ([Card], Collection Card) -> Dist ([Card], Collection Card)
drawTo16 :: T ([Card], Collection Card)
win :: ([Card], b) -> Bool
chanceWin :: (Fractional prob, Ord prob, Random prob) => T (T prob Bool)
Documentation
type Collection a = [a]Source
type Probability = RationalSource
selectOne :: Fractional prob => StateT (Collection a) (T prob) aSource
see also the proposal http://www.haskell.org/pipermail/libraries/2008-February/009270.html
select1 :: Fractional prob => Collection a -> T prob aSource
select2 :: Fractional prob => Collection a -> T prob (a, a)Source
select :: Fractional prob => Int -> Collection a -> T prob [a]Source
Example collections
marbles
data Marble Source
Constructors
R
G
B
show/hide Instances
bucket :: Collection MarbleSource
jar :: Collection MarbleSource
pRGB :: ProbabilitySource
pRG :: ProbabilitySource
cards
data Suit Source
Constructors
Club
Spade
Heart
Diamond
show/hide Instances
data Rank Source
Constructors
Plain Int
Jack
Queen
King
Ace
show/hide Instances
type Card = (Rank, Suit)Source
plains :: [Rank]Source
faces :: [Rank]Source
isFace :: Card -> BoolSource
isPlain :: Card -> BoolSource
ranks :: [Rank]Source
suits :: [Suit]Source
deck :: Collection CardSource
Example
value :: Card -> IntSource
mini-blackjack: draw 2 cards, and if value is less than 14, continue drawing until value equals or exceeds 14. if values exceeds 21, you lose, otherwise you win.
totalValue :: Collection Card -> IntSource
draw :: Fractional prob => ([Card], Collection Card) -> T prob ([Card], Collection Card)Source
drawF :: ([Card], Collection Card) -> Dist ([Card], Collection Card)Source
drawTo16 :: T ([Card], Collection Card)Source
win :: ([Card], b) -> BoolSource
chanceWin :: (Fractional prob, Ord prob, Random prob) => T (T prob Bool)Source
Produced by Haddock version 2.4.2