diff --git a/hikaru.cabal b/hikaru.cabal index ff6d92ad6a8c6fb06367632402ddee1751319ca3..482b7a16f77fee7f55f4af31c414cdebfe022c04 100644 --- a/hikaru.cabal +++ b/hikaru.cabal @@ -85,6 +85,7 @@ common common , string-conversions >=0.4 && <0.5 , text >=1.2 && <1.3 , time >=1.9 && <1.12 + , unliftio >=0.2 && <0.3 , wai >=3.2 && <3.3 , wai-extra >=3.0 && <3.2 , wai-websockets >=3.0 && <3.1 diff --git a/lib/Hikaru/Action.hs b/lib/Hikaru/Action.hs index c5e4b142160cae044ae9a4754c87d9fce0573668..977a658f1af0d915ca1b3102a742127ec1c78249 100644 --- a/lib/Hikaru/Action.hs +++ b/lib/Hikaru/Action.hs @@ -113,7 +113,7 @@ module Hikaru.Action , FilePath ) where - import Relude + import Relude hiding (writeIORef, readIORef, modifyIORef', newIORef) import qualified Data.ByteString as BS import qualified Data.ByteString.Lazy as LBS @@ -121,8 +121,8 @@ where import qualified Data.Text.Lazy as LT import qualified Network.Wai.Parse as Parse - import Control.Exception (throwIO, bracket_) import Control.Monad.Trans.Resource + import UnliftIO import Data.Aeson import Data.Binary.Builder import Data.Dynamic @@ -177,7 +177,7 @@ where getActionField :: (MonadAction m) => (ActionEnv -> IORef a) -> m a getActionField field = do ref <- field <$> getActionEnv - liftIO $ readIORef ref + readIORef ref -- | @@ -186,7 +186,7 @@ where setActionField :: (MonadAction m) => (ActionEnv -> IORef a) -> a -> m () setActionField field value = do ref <- field <$> getActionEnv - liftIO $ writeIORef ref value + writeIORef ref value -- | @@ -196,7 +196,7 @@ where => (ActionEnv -> IORef a) -> (a -> a) -> m () modifyActionField field fn = do ref <- field <$> getActionEnv - liftIO $ modifyIORef' ref fn + modifyIORef' ref fn -- | @@ -1166,7 +1166,7 @@ where -- Same an IO exception in the form of ('RequestError', 'Text'). -- throwError :: (MonadAction m) => RequestError -> Text -> m a - throwError exn msg = liftIO $ throwIO (exn, msg) + throwError exn msg = throwIO (exn, msg) -- Localization ------------------------------------------------------------ diff --git a/lib/Hikaru/Config.hs b/lib/Hikaru/Config.hs index e0a914c6001c7421c009332e56ca5da318e558bd..1529b790654f43c5ae87254cd13abb9547470812 100644 --- a/lib/Hikaru/Config.hs +++ b/lib/Hikaru/Config.hs @@ -36,15 +36,14 @@ module Hikaru.Config ) where import Relude hiding (drop, lines, isPrefixOf, length, span) - - import qualified Data.Map as Map - + import UnliftIO.Environment import Crypto.Random.Entropy import Data.ByteArray.Encoding import Data.String.Conversions import Data.Text hiding (map) import Hikaru.Types - import System.Environment + + import qualified Data.Map as Map -- | @@ -57,7 +56,7 @@ where -- Read configuration from program environment. -- configFromEnv :: (MonadIO m) => m Config - configFromEnv = Map.fromList <$> map conv <$> liftIO getEnvironment + configFromEnv = Map.fromList <$> map conv <$> getEnvironment where conv (k, v) = (cs k, cs v)