From 9837fb8fb17be9ecf5d90f3fb5a97ec6389f9eef Mon Sep 17 00:00:00 2001 From: krasimir Date: Sun, 19 Oct 2008 16:38:56 +0000 Subject: move PGF.Quiz to GF.Quiz. It is not part of the PGF API --- src/GF/Infra/UseIO.hs | 28 ---------------------------- 1 file changed, 28 deletions(-) (limited to 'src/GF/Infra') diff --git a/src/GF/Infra/UseIO.hs b/src/GF/Infra/UseIO.hs index 0ca8d7456..b4cf48f1f 100644 --- a/src/GF/Infra/UseIO.hs +++ b/src/GF/Infra/UseIO.hs @@ -153,34 +153,6 @@ putStrFlush s = putStr s >> hFlush stdout putStrLnFlush :: String -> IO () putStrLnFlush s = putStrLn s >> hFlush stdout --- * a generic quiz session - -type QuestionsAndAnswers = [(String, String -> (Integer,String))] - -teachDialogue :: QuestionsAndAnswers -> String -> IO () -teachDialogue qas welc = do - putStrLn $ welc ++++ genericTeachWelcome - teach (0,0) qas - where - teach _ [] = do putStrLn "Sorry, ran out of problems" - teach (score,total) ((question,grade):quas) = do - putStr ("\n" ++ question ++ "\n> ") - answer <- getLine - if (answer == ".") then return () else do - let (result, feedback) = grade answer - score' = score + result - total' = total + 1 - putStr (feedback ++++ "Score" +++ show score' ++ "/" ++ show total') - if (total' > 9 && fromInteger score' / fromInteger total' >= 0.75) - then do putStrLn "\nCongratulations - you passed!" - else teach (score',total') quas - - genericTeachWelcome = - "The quiz is over when you have done at least 10 examples" ++++ - "with at least 75 % success." +++++ - "You can interrupt the quiz by entering a line consisting of a dot ('.').\n" - - -- * IO monad with error; adapted from state monad newtype IOE a = IOE (IO (Err a)) -- cgit v1.2.3