Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Data.List (foldl')
- import Data.Map (Map)
- import qualified Data.Map as M
- import System.Environment
- type Log = String
- type IPAddr = String
- type Frequency = Int
- pageViews :: Integer -> Log -> Integer
- pageViews = undefined
- uniqueUsers :: Integer -> Log -> Integer
- uniqueUsers = undefined
- freqentSourceAddrs :: Map IPAddr Frequency -> Log -> Map IPAddr Frequency
- freqentSourceAddrs = undefined
- analyze :: [Log] -> (Integer, Integer, Map IPAddr Frequency)
- analyze = foldl' (\(a1, a2, a3) c ->
- ( pageViews a1 c
- , uniqueUsers a2 c
- , freqentSourceAddrs a3 c))
- (0, 0, M.empty)
- main :: IO ()
- main = do
- (f:_) <- getArgs
- print . analyze . lines =<< readFile f
Add Comment
Please, Sign In to add comment