]> gitweb.michael.orlitzky.com - dead/halcyon.git/blobdiff - src/Twitter/Status.hs
Replace necessary NoMonomorphism language pragma.
[dead/halcyon.git] / src / Twitter / Status.hs
index ef4e1037b9ca54b212f5666d60271ff832468301..6ff7e6c1dba241880ed81d989f8bfa2f36f381f7 100644 (file)
@@ -1,3 +1,5 @@
+{-# LANGUAGE NoMonomorphismRestriction #-}
+
 -- | Functions and data for working with Twitter statuses.
 module Twitter.Status
 where
@@ -5,7 +7,7 @@ where
 import Control.Applicative ((<$>), (<*>))
 import Control.Monad (liftM)
 import Data.Aeson ((.:), FromJSON(..), Value(Object))
-import Data.Maybe (catMaybes, isJust)
+import Data.Maybe (fromMaybe, mapMaybe, isJust)
 import Data.Monoid (mempty)
 import Data.String.Utils (join, splitWs)
 import Data.Text (pack)
@@ -74,7 +76,7 @@ utc_time_to_rfc822 mtz utc =
 
 show_created_at :: Maybe TimeZone -> Status -> String
 show_created_at mtz =
-  (maybe "" id) . (fmap $ utc_time_to_rfc822 mtz) . created_at
+  (fromMaybe "") . (fmap $ utc_time_to_rfc822 mtz) . created_at
 
 -- | Returns a nicely-formatted String representing the given 'Status'
 --   object.
@@ -121,7 +123,7 @@ parse_username word =
 -- | Parse all usernames of the form \@username from a status.
 parse_usernames_from_status :: Status -> [String]
 parse_usernames_from_status status =
-  catMaybes (map parse_username status_words)
+  mapMaybe parse_username status_words
   where
     status_words = splitWs (text status)