equal
deleted
inserted
replaced
21 room, |
21 room, |
22 client'sM, |
22 client'sM, |
23 room'sM, |
23 room'sM, |
24 allClientsM, |
24 allClientsM, |
25 clientsM, |
25 clientsM, |
|
26 roomsM, |
26 roomClientsM, |
27 roomClientsM, |
27 roomClientsIndicesM, |
28 roomClientsIndicesM, |
28 withRoomsAndClients, |
29 withRoomsAndClients, |
29 allRooms, |
30 allRooms, |
30 allClients, |
31 allClients, |
158 allClientsM (MRoomsAndClients (_, clients)) = liftM (map ClientIndex) $ indicesM clients |
159 allClientsM (MRoomsAndClients (_, clients)) = liftM (map ClientIndex) $ indicesM clients |
159 |
160 |
160 clientsM :: MRoomsAndClients r c -> IO [c] |
161 clientsM :: MRoomsAndClients r c -> IO [c] |
161 clientsM (MRoomsAndClients (_, clients)) = indicesM clients >>= mapM (liftM client' . readElem clients) |
162 clientsM (MRoomsAndClients (_, clients)) = indicesM clients >>= mapM (liftM client' . readElem clients) |
162 |
163 |
|
164 roomsM :: MRoomsAndClients r c -> IO [r] |
|
165 roomsM (MRoomsAndClients (rooms, _)) = indicesM rooms >>= mapM (liftM room' . readElem rooms) |
|
166 |
163 roomClientsIndicesM :: MRoomsAndClients r c -> RoomIndex -> IO [ClientIndex] |
167 roomClientsIndicesM :: MRoomsAndClients r c -> RoomIndex -> IO [ClientIndex] |
164 roomClientsIndicesM (MRoomsAndClients (rooms, _)) (RoomIndex ri) = liftM roomClients' (rooms `readElem` ri) |
168 roomClientsIndicesM (MRoomsAndClients (rooms, _)) (RoomIndex ri) = liftM roomClients' (rooms `readElem` ri) |
165 |
169 |
166 roomClientsM :: MRoomsAndClients r c -> RoomIndex -> IO [c] |
170 roomClientsM :: MRoomsAndClients r c -> RoomIndex -> IO [c] |
167 roomClientsM (MRoomsAndClients (rooms, clients)) (RoomIndex ri) = liftM roomClients' (rooms `readElem` ri) >>= mapM (\(ClientIndex ci) -> liftM client' $ readElem clients ci) |
171 roomClientsM (MRoomsAndClients (rooms, clients)) (RoomIndex ri) = liftM roomClients' (rooms `readElem` ri) >>= mapM (\(ClientIndex ci) -> liftM client' $ readElem clients ci) |