diff options
| author | krasimir <krasimir@chalmers.se> | 2008-10-20 08:42:39 +0000 |
|---|---|---|
| committer | krasimir <krasimir@chalmers.se> | 2008-10-20 08:42:39 +0000 |
| commit | eb0fefec28cf9c089c55f1ef5de9c772faa61786 (patch) | |
| tree | 8d9a8c88ea3bd7c6e5191c79a7722a0fdf76c1b6 /src/GF/Quiz.hs | |
| parent | 96bea5a0bbdf749ea6fc50b97e4740e44a56e814 (diff) | |
preparation for dep. types. The -cat option can take any type instead of just a category. The PGF API is generalized as well.
Diffstat (limited to 'src/GF/Quiz.hs')
| -rw-r--r-- | src/GF/Quiz.hs | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/src/GF/Quiz.hs b/src/GF/Quiz.hs index 92969aa3c..bfdd9a54a 100644 --- a/src/GF/Quiz.hs +++ b/src/GF/Quiz.hs @@ -39,19 +39,19 @@ mkQuiz cod msg tts = do teachDialogue qas msg translationList :: - PGF -> Language -> Language -> Category -> Int -> IO [(String,[String])] -translationList pgf ig og cat number = do - ts <- generateRandom pgf cat >>= return . take number + PGF -> Language -> Language -> Type -> Int -> IO [(String,[String])] +translationList pgf ig og typ number = do + ts <- generateRandom pgf typ >>= return . take number return $ map mkOne $ ts where mkOne t = (norml (linearize pgf ig t), map (norml . linearize pgf og) (homonyms t)) - homonyms = nub . parse pgf ig cat . linearize pgf ig + homonyms = nub . parse pgf ig typ . linearize pgf ig -morphologyList :: PGF -> Language -> Category -> Int -> IO [(String,[String])] -morphologyList pgf ig cat number = do - ts <- generateRandom pgf cat >>= return . take (max 1 number) +morphologyList :: PGF -> Language -> Type -> Int -> IO [(String,[String])] +morphologyList pgf ig typ number = do + ts <- generateRandom pgf typ >>= return . take (max 1 number) gen <- newStdGen - let ss = map (tabularLinearize pgf (mkCId ig)) ts + let ss = map (tabularLinearize pgf ig) ts let size = length (head ss) let forms = take number $ randomRs (0,size-1) gen return [(head (snd (head pws)) +++ par, ws) | |
