on master help sign in
Use TupleSections, not list comprehensions
commit3fec1a086a78ba49fa9dd1c2201a86fec3abd77a authorOleg Grenrus <oleg.grenrus@iki.fi> dateTue 11 Oct 2016, 19:33 (10 years ago) parent1abf84f
1 file changed+5−4
servant/src/Servant/API/ContentTypes.hs+5−4
servant/src/Servant/API/ContentTypes.hs+5−4
@@ -8,6 +8,7 @@
88{-# LANGUAGE OverloadedStrings #-}
99{-# LANGUAGE PolyKinds #-}
1010{-# LANGUAGE ScopedTypeVariables #-}
11+{-# LANGUAGE TupleSections #-}
1112{-# LANGUAGE TypeFamilies #-}
1213{-# LANGUAGE TypeOperators #-}
1314{-# LANGUAGE UndecidableInstances #-}
@@ -243,7 +244,7 @@ class (AllMime list) => AllMimeRender (list :: [*]) a where
243244 -> [(M.MediaType, ByteString)] -- content-types/response pairs
244245
245246instance OVERLAPPABLE_ ( MimeRender ctyp a ) => AllMimeRender '[ctyp] a where
246− allMimeRender _ a = [ (ct, bs) | ct <- NE.toList $ contentTypes pctyp ]
247+ allMimeRender _ a = map (, bs) $ NE.toList $ contentTypes pctyp
247248 where
248249 bs = mimeRender pctyp a
249250 pctyp = Proxy :: Proxy ctyp
@@ -253,7 +254,7 @@ instance OVERLAPPABLE_
253254 , AllMimeRender (ctyp' ': ctyps) a
254255 ) => AllMimeRender (ctyp ': ctyp' ': ctyps) a where
255256 allMimeRender _ a =
256− [ (ct, bs) | ct <- NE.toList $ contentTypes pctyp ]
257+ (map (, bs) $ NE.toList $ contentTypes pctyp)
257258 ++ allMimeRender pctyps a
258259 where
259260 bs = mimeRender pctyp a
@@ -265,7 +266,7 @@ instance OVERLAPPABLE_
265266-- then this would be taken care of. However there is no more specific instance
266267-- between that and 'MimeRender JSON a', so we do this instead
267268instance OVERLAPPING_ ( Accept ctyp ) => AllMimeRender '[ctyp] NoContent where
268− allMimeRender _ _ = [ (ct, "") | ct <- NE.toList $ contentTypes pctyp ]
269+ allMimeRender _ _ = map (, "") $ NE.toList $ contentTypes pctyp
269270 where
270271 pctyp = Proxy :: Proxy ctyp
271272
@@ -289,7 +290,7 @@ instance ( MimeUnrender ctyp a
289290 , AllMimeUnrender ctyps a
290291 ) => AllMimeUnrender (ctyp ': ctyps) a where
291292 allMimeUnrender _ bs =
292− [ (ct, x) | ct <- NE.toList $ contentTypes pctyp ]
293+ (map (, x) $ NE.toList $ contentTypes pctyp)
293294 ++ allMimeUnrender pctyps bs
294295 where
295296 x = mimeUnrender pctyp bs