From fbef7498fb81291f5dea089918ed54770c0e782f Mon Sep 17 00:00:00 2001 From: Ramakrishnan Muthukrishnan <ram@rkrishnan.org> Date: Fri, 26 Dec 2014 16:05:19 +0530 Subject: [PATCH] hw8: exercise 5 --- hw8/Party.hs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/hw8/Party.hs b/hw8/Party.hs index 3bc5e1b..8433006 100644 --- a/hw8/Party.hs +++ b/hw8/Party.hs @@ -4,6 +4,7 @@ module Party where import Data.Monoid import Employee import Data.Tree +import qualified Data.List as L -- exercise 1 -- glCons - a naive way to add an employee to a guest list @@ -60,3 +61,18 @@ maxFun = uncurry moreFun . maxFunPair maxFunPair :: Tree Employee -> (GuestList, GuestList) maxFunPair (Node e es) = nextLevel e $ map maxFunPair es +-- exercise 5 +-- main + +sortedGL :: GuestList -> (Integer, [String]) +sortedGL (GL empls funval) = (funval, L.sort $ map empName empls) + +getEmployeeList :: String -> String +getEmployeeList empls = let (f, ls) = sortedGL (maxFun (read empls)) + in + unlines $ show f : ls + +main :: IO () +main = do + empls <- readFile "company.txt" + putStrLn $ getEmployeeList empls -- 2.45.2