 | probability-0.2.1: Probabilistic Functional Programming | Contents | Index |
|
| Numeric.Probability.Example.Collection |
|
|
|
|
|
| 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] | | | | | bucket :: Collection Marble | | | jar :: Collection Marble | | | pRGB :: Probability | | | pRG :: Probability | | | | | | | 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] |
|
| type Probability = Rational |
|
| selectOne :: Fractional prob => StateT (Collection a) (T prob) a |
| see also the proposal
http://www.haskell.org/pipermail/libraries/2008-February/009270.html
|
|
| 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] |
|
| Example collections
|
|
| marbles
|
|
| data Marble |
| Constructors | | Instances | |
|
|
| bucket :: Collection Marble |
|
| jar :: Collection Marble |
|
| pRGB :: Probability |
|
| pRG :: Probability |
|
| cards
|
|
| data Suit |
| Constructors | | Instances | |
|
|
| data Rank |
| Constructors | | Plain Int | | | Jack | | | Queen | | | King | | | Ace | |
| Instances | |
|
|
| type Card = (Rank, Suit) |
|
| plains :: [Rank] |
|
| faces :: [Rank] |
|
| isFace :: Card -> Bool |
|
| isPlain :: Card -> Bool |
|
| ranks :: [Rank] |
|
| suits :: [Suit] |
|
| deck :: Collection Card |
|
| Example
|
|
| value :: Card -> Int |
| 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 -> 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) |
|
| Produced by Haddock version 2.1.0 |