diff options
| author | krasimir <krasimir@chalmers.se> | 2010-10-02 13:03:57 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2010-10-02 13:03:57 +0000 |
| commit | cb8795c222ae86e4561e1009c382fe0b87e22b62 (patch) | |
| tree | eddba3e578a812347060f5f640cc49e58dc5b263 /src/compiler/GF/Quiz.hs | |
| parent | 72cc4ddb594599a5e3768a7b3921975542c3591a (diff) | |
refactor the API for random generation again. Now PGF contains probabilities in the abstract syntax
Diffstat (limited to 'src/compiler/GF/Quiz.hs')
| -rw-r--r-- | src/compiler/GF/Quiz.hs | 28 |
1 files changed, 10 insertions, 18 deletions
diff --git a/src/compiler/GF/Quiz.hs b/src/compiler/GF/Quiz.hs index 1a221c21d..0b37660c8 100644 --- a/src/compiler/GF/Quiz.hs +++ b/src/compiler/GF/Quiz.hs @@ -38,32 +38,24 @@ mkQuiz msg tts = do teachDialogue qas msg translationList :: - Maybe Expr -> Maybe Probabilities -> - PGF -> Language -> Language -> Type -> Int -> IO [(String,[String])] -translationList mex mprobs pgf ig og typ number = do + Maybe Expr -> PGF -> Language -> Language -> Type -> Int -> IO [(String,[String])] +translationList mex pgf ig og typ number = do gen <- newStdGen - let sel = case mprobs of - Just probs -> WeightSel gen probs - Nothing -> RandSel gen - let ts = take number $ case mex of - Just ex -> generateRandomFrom sel pgf ex - Nothing -> generateRandom sel pgf typ + let ts = take number $ case mex of + Just ex -> generateRandomFrom gen pgf ex + Nothing -> generateRandom gen pgf typ return $ map mkOne $ ts where mkOne t = (norml (linearize pgf ig t), map (norml . linearize pgf og) (homonyms t)) homonyms = parse pgf ig typ . linearize pgf ig morphologyList :: - Maybe Expr -> Maybe Probabilities -> - PGF -> Language -> Type -> Int -> IO [(String,[String])] -morphologyList mex mprobs pgf ig typ number = do + Maybe Expr -> PGF -> Language -> Type -> Int -> IO [(String,[String])] +morphologyList mex pgf ig typ number = do gen <- newStdGen - let sel = case mprobs of - Just probs -> WeightSel gen probs - Nothing -> RandSel gen - let ts = take (max 1 number) $ case mex of - Just ex -> generateRandomFrom sel pgf ex - Nothing -> generateRandom sel pgf typ + let ts = take (max 1 number) $ case mex of + Just ex -> generateRandomFrom gen pgf ex + Nothing -> generateRandom gen pgf typ let ss = map (tabularLinearizes pgf ig) ts let size = length (head (head ss)) let forms = take number $ randomRs (0,size-1) gen |
