summaryrefslogtreecommitdiff
path: root/src/compiler/GF/Quiz.hs
diff options
context:
space:
mode:
authorkrasimir <krasimir@chalmers.se>2010-10-02 13:03:57 +0000
committerkrasimir <krasimir@chalmers.se>2010-10-02 13:03:57 +0000
commitcb8795c222ae86e4561e1009c382fe0b87e22b62 (patch)
treeeddba3e578a812347060f5f640cc49e58dc5b263 /src/compiler/GF/Quiz.hs
parent72cc4ddb594599a5e3768a7b3921975542c3591a (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.hs28
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