equal
deleted
inserted
replaced
79 deleteBy2t eq x (y:ys) = if y `eq` x then ys else y : deleteBy2t eq x ys |
79 deleteBy2t eq x (y:ys) = if y `eq` x then ys else y : deleteBy2t eq x ys |
80 |
80 |
81 deleteFirstsBy2t :: (a -> b -> Bool) -> [a] -> [b] -> [a] |
81 deleteFirstsBy2t :: (a -> b -> Bool) -> [a] -> [b] -> [a] |
82 deleteFirstsBy2t eq = foldl (flip (deleteBy2t eq)) |
82 deleteFirstsBy2t eq = foldl (flip (deleteBy2t eq)) |
83 |
83 |
|
84 clientByHandle :: Handle -> [ClientInfo] -> Maybe ClientInfo |
|
85 clientByHandle chandle clients = find (\c -> handle c == chandle) clients |
|
86 |
84 sameRoom :: HandlesSelector |
87 sameRoom :: HandlesSelector |
85 sameRoom client clients rooms = map handle $ filter (\ci -> room ci == room client) clients |
88 sameRoom client clients rooms = map handle $ filter (\ci -> room ci == room client) clients |
86 |
89 |
87 othersInRoom :: HandlesSelector |
90 othersInRoom :: HandlesSelector |
88 othersInRoom client clients rooms = map handle $ filter (client /=) $ filter (\ci -> room ci == room client) clients |
91 othersInRoom client clients rooms = map handle $ filter (client /=) $ filter (\ci -> room ci == room client) clients |