[moved log file handling to Logger.hs
martin.hofmann@uni-bamberg.de**20090126074256] hunk ./src/Logging/Logger.hs 22
-    --module Language.Haskell.TH,
+    module Language.Haskell.TH,
hunk ./src/Logging/Logger.hs 35
-import Language.Haskell.TH (Ppr(..), pprint)
+import Language.Haskell.TH (Ppr(..), pprint, Dec, Exp, Pat, runQ, Name)
hunk ./src/Logging/Logger.hs 42
-import Language.Haskell.TH
+
hunk ./src/Logging/Logger.hs 44
+import Data.Time.Clock
+import Data.Time.Calendar
+import System.CPUTime
+import System.IO
+import System.Mem
hunk ./src/Logging/Logger.hs 185
---indent :: Message -> Message
---indent m = map ("  "++) m
---
---indentN :: Int -> Message -> Message
---indentN i m = map ((replicate i ' ')++) m
+date :: IO (Integer,Int,Int,Integer) -- :: (year,month,day,CPUTime)
+date = do
+       (y,m,d) <- getCurrentTime >>= return . toGregorian . utctDay
+       s       <- getCPUTime
+       return (y,m,d,s)
+
+showDate = date >>= \(y,m,d,s) ->
+             return $ (shows y) . (shows m). (shows d) $ show s
+
+printResult :: ([[Dec]],Log) -> IO()
+printResult (d,l) = do 
+    file    <- showDate >>= \d -> return ("log/" ++ d ++ ".log")
+    fhandle <-openFile file AppendMode
+    printLog l  [fhandle,stdout]
+    printDecs d [fhandle,stdout]
+    hClose fhandle
+    
+                
+printLog :: Log -> [Handle] -> IO ()
+printLog logs handles = mapM_ (flip hPutDoc content) handles
+    where    
+    content = frame "Log Log Log Log Log Log Log" <$> pretty logs
+
+printDecs :: [[Dec]] -> [Handle] -> IO()
+printDecs decs handles = do
+    docs <- liftM vcat $ mapM printInQ (zip decs [1..])
+    let content = frame "Results Results Results" <$$> docs
+    mapM_ ((flip hPutDoc) content) handles
hunk ./src/Logging/Logger.hs 214
+printInQ :: ([Dec],Int) -> IO Doc    
+printInQ = \(d,i) -> (runQ.return) d >>= \p -> 
+                return $ indent 6 (text "HYPOTHESE" <+> int i <> colon) <$$>
+                         linebreak <> 
+                         vcat (map pretty p) <>
+                         linebreak 
+                         
+frame s = vsep [line,header s,line,softline]
+    where
+    line     = (text "*") <+>
+               hsep (replicate (colwidth -2) (text "-")) <+>
+               text  "*"
+    spaces   = ((colwidth) - (length s)) `div` 2 
+    colwidth =  72
+    header s = (text "|") <+> hsep (replicate spaces space) <+>
+               text s <+> hsep (replicate spaces space) <+> (text "|")    
+    
+ 
hunk ./src/SynthesisEngine.hs 18
-import Data.Time.Clock
-import Data.Time.Calendar
-import System.CPUTime
-import System.Mem
+
hunk ./src/SynthesisEngine.hs 31
-       bgk <- b
-       let (r,l) = runEL  (synthesise tgt bgk) 
-       runIO $ printLogFile (show (pretty l))
---       runIO $ putStrLn "*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*"
---       runIO $ putStrLn "|                                 Logging Result                                |"
---       runIO $ putStrLn "*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*"
---       runIO $ putDoc (pretty l)
---       runIO $ putStrLn "*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*"
---       runIO $ putStrLn "|                              Computational Result                             |"
---       runIO $ putStrLn "*- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -*"
-       runIO $ mapM_ (printQ.return) r
+       bgk <- b  
+       runIO $ printResult $ runEL  (synthesise tgt bgk)
hunk ./src/SynthesisEngine.hs 37
-    setPriority NOTICE
+    setPriority INFO
hunk ./src/SynthesisEngine.hs 89
-date :: IO (Integer,Int,Int,Integer) -- :: (year,month,day,CPUTime)
-date = do
-       (y,m,d) <- getCurrentTime >>= return . toGregorian . utctDay
-       s       <- getCPUTime
-       return (y,m,d,s)
hunk ./src/SynthesisEngine.hs 90
-showDate = date >>= \(y,m,d,s) ->
-             return $ (shows y) . (shows m). (shows d) $ show s
-            
-printLogFile :: String -> IO ()
-printLogFile s = showDate >>= \d -> 
-                              writeFile ("log/" ++ d ++ ".log") s 