|
|
@ -1,5 +1,5 @@ |
|
|
|
import Data.List |
|
|
|
import Data.Map.Strict qualified as Map |
|
|
|
import Data.Map.Strict as Map |
|
|
|
import System.Environment |
|
|
|
import System.Random |
|
|
|
|
|
|
@ -20,7 +20,7 @@ buildChain :: [String] -> MarkovChain |
|
|
|
buildChain xs = |
|
|
|
let pairs = zip xs (tail xs) |
|
|
|
addPair' (k, v) chain = addPair k v chain |
|
|
|
in foldr addPair' Map.empty pairs |
|
|
|
in Data.List.foldr addPair' Map.empty pairs |
|
|
|
|
|
|
|
-- Takes a list of values and returns a random element inside it. |
|
|
|
randomChoice :: [a] -> IO a |
|
|
|