]> git.rkrishnan.org Git - yorgey.git/blob - hw2/LogAnalysis.hs
hw #2 solution. WIP
[yorgey.git] / hw2 / LogAnalysis.hs
1 {-# OPTIONS_GHC -Wall #-}
2 module LogAnalysis where
3
4 import Log
5
6 parseMessage :: String -> LogMessage
7 parseMessage s = let ws = words s in
8                  parseMessage' ws
9                      where
10                        parseMessage' ("I":ts:ws') = LogMessage Info (read ts) (unwords ws')
11                        parseMessage' ("W":ts:ws') = LogMessage Warning (read ts) (unwords ws')
12                        parseMessage' ("E":level:ts:ws') = LogMessage (Error (read level)) (read ts) (unwords ws')
13                        parseMessage' x = Unknown (unwords x)
14
15 parse :: String -> [LogMessage]
16 parse s = map parseMessage (lines s)
17
18