diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-25 16:43:48 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-25 16:43:48 +0000 |
| commit | b96b36f43de3e2f8b58d5f539daa6f6d47f25870 (patch) | |
| tree | 0992334be13cec6538a1dea22fbbf26ad6bdf224 /src/GF/Shell/TeachYourself.hs | |
| parent | fe367412e0aeb4ad5c02de68e6eca382e0f96984 (diff) | |
removed src for 2.9
Diffstat (limited to 'src/GF/Shell/TeachYourself.hs')
| -rw-r--r-- | src/GF/Shell/TeachYourself.hs | 87 |
1 files changed, 0 insertions, 87 deletions
diff --git a/src/GF/Shell/TeachYourself.hs b/src/GF/Shell/TeachYourself.hs deleted file mode 100644 index 7e5a8afe2..000000000 --- a/src/GF/Shell/TeachYourself.hs +++ /dev/null @@ -1,87 +0,0 @@ ----------------------------------------------------------------------- --- | --- Module : TeachYourself --- Maintainer : AR --- Stability : (stable) --- Portability : (portable) --- --- > CVS $Date: 2005/04/21 16:46:13 $ --- > CVS $Author: bringert $ --- > CVS $Revision: 1.7 $ --- --- translation and morphology quiz. AR 10\/5\/2000 -- 12\/4\/2002 ------------------------------------------------------------------------------ - -module GF.Shell.TeachYourself where - -import GF.Compile.ShellState -import GF.API -import GF.UseGrammar.Linear -import GF.Grammar.PrGrammar - -import GF.Infra.Option -import GF.System.Arch (myStdGen) -import GF.Data.Operations -import GF.Infra.UseIO - -import System.Random --- (randoms) --- bad import for hbc -import System - --- translation and morphology quiz. AR 10/5/2000 -- 12/4/2002 - -teachTranslation :: Options -> GFGrammar -> GFGrammar -> IO () -teachTranslation opts ig og = do - tts <- transTrainList opts ig og infinity - let qas = [ (q, mkAnswer as) | (q,as) <- tts] - teachDialogue qas "Welcome to GF Translation Quiz." - -transTrainList :: - Options -> GFGrammar -> GFGrammar -> Integer -> IO [(String,[String])] -transTrainList opts ig og number = do - ts <- randomTreesIO (addOption beSilent opts) ig (fromInteger number) - return $ map mkOne $ ts - where - cat = firstCatOpts opts ig - mkOne t = (norml (linearize ig t),map (norml . linearize og) (homonyms ig cat t)) - - -teachMorpho :: Options -> GFGrammar -> IO () -teachMorpho opts ig = useIOE () $ do - tts <- morphoTrainList opts ig infinity - let qas = [ (q, mkAnswer as) | (q,as) <- tts] - ioeIO $ teachDialogue qas "Welcome to GF Morphology Quiz." - -morphoTrainList :: Options -> GFGrammar -> Integer -> IOE [(String,[String])] -morphoTrainList opts ig number = do - ts <- ioeIO $ randomTreesIO (addOption beSilent opts) ig (fromInteger number) - gen <- ioeIO $ myStdGen (fromInteger number) - mkOnes gen ts - where - mkOnes gen (t:ts) = do - psss <- ioeErr $ allLinTables True gr cnc t - let pss = concat $ map snd $ concat psss - let (i,gen') = randomR (0, length pss - 1) gen - (ps,ss) <- ioeErr $ pss !? i - (_,ss0) <- ioeErr $ pss !? 0 - let bas = unwords ss0 --- concat $ take 1 ss0 - more <- mkOnes gen' ts - return $ (bas +++ ":" +++ unwords (map prt_ ps), return (unwords ss)) : more - mkOnes gen [] = return [] - - gr = grammar ig - cnc = cncId ig - --- | compare answer to the list of right answers, increase score and give feedback -mkAnswer :: [String] -> String -> (Integer, String) -mkAnswer as s = if (elem (norml s) as) - then (1,"Yes.") - else (0,"No, not" +++ s ++ ", but" ++++ unlines as) - - -norml :: String -> String -norml = unwords . words - --- | the maximal number of precompiled quiz problems -infinity :: Integer -infinity = 123 - |
