Guest User

Untitled

a guest
Apr 19th, 2018
76
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 0.73 KB | None | 0 0
  1. import Data.List (foldl')
  2. import Data.Map (Map)
  3. import qualified Data.Map as M
  4. import System.Environment
  5.  
  6. type Log = String
  7. type IPAddr = String
  8. type Frequency = Int
  9.  
  10. pageViews :: Integer -> Log -> Integer
  11. pageViews = undefined
  12.  
  13. uniqueUsers :: Integer -> Log -> Integer
  14. uniqueUsers = undefined
  15.  
  16. freqentSourceAddrs :: Map IPAddr Frequency -> Log -> Map IPAddr Frequency
  17. freqentSourceAddrs = undefined
  18.  
  19. analyze :: [Log] -> (Integer, Integer, Map IPAddr Frequency)
  20. analyze = foldl' (\(a1, a2, a3) c ->
  21. ( pageViews a1 c
  22. , uniqueUsers a2 c
  23. , freqentSourceAddrs a3 c))
  24. (0, 0, M.empty)
  25.  
  26. main :: IO ()
  27. main = do
  28. (f:_) <- getArgs
  29. print . analyze . lines =<< readFile f
Add Comment
Please, Sign In to add comment