interlude-l 0.1.0.5 → 0.1.0.6
raw patch · 2 files changed
+60/−60 lines, 2 filesdep ~lensdep ~transformers
Dependency ranges changed: lens, transformers
Files
- interlude-l.cabal +3/−3
- src/Interlude.hs +57/−57
interlude-l.cabal view
@@ -1,5 +1,5 @@ name: interlude-l-version: 0.1.0.5+version: 0.1.0.6 synopsis: Prelude replacement based on protolude description: Prelude replacement based on protolude license: BSD3@@ -20,10 +20,10 @@ , string-conv == 0.1.* , exceptions == 0.8.* , mtl == 2.2.*- , lens == 4.13.*+ , lens == 4.14.* , aeson == 0.11.* , witherable == 0.1.*- , transformers == 0.4.*+ , transformers == 0.5.* , mtl == 2.2.* , monad-control , MonadRandom
src/Interlude.hs view
@@ -1,57 +1,57 @@-{-# LANGUAGE UndecidableInstances, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts - , NoMonomorphismRestriction, OverloadedStrings #-} -{-# OPTIONS_GHC -fno-warn-orphans #-} -module Interlude ( module X, unsafeTail, unsafeHead, unsafeLast, unsafeInit - , pshow, perror, pread, noWarnUndefined, perrorToFile ) where - -import qualified Prelude -import Protolude as X hiding ( (&), catch, try, (<.>), wait, error, filter, ordNub - , catMaybes, mapMaybe, handle, catches, Handler(..) ) -import Prelude as X (error) -import Control.Monad.Catch as X ( MonadThrow, MonadCatch, catch, throwM, try, handle, catches - , Handler(..), handleIf, catchIf ) -import Control.Monad.Trans.Class as X -import Control.Monad.State as X (modify') -import Control.Lens.Operators as X -import Control.Lens.TH as X -import Control.Lens as X (view) -import Data.Aeson.TH as X -import Data.Aeson as X (ToJSON, FromJSON) -import Data.Coerce as X -import Data.Char as X -import Data.Witherable as X -import Data.String -import Control.Monad.Trans.Control as X (MonadBaseControl, MonadTransControl) -import Control.Monad.Random as X -import GHC.IO - -import qualified Data.Text as Text - -unsafeTail :: [a] -> [a] -unsafeTail = Prelude.tail - -unsafeHead :: [a] -> a -unsafeHead = Prelude.head - -unsafeLast :: [a] -> a -unsafeLast = Prelude.last - -unsafeInit :: [a] -> [a] -unsafeInit = Prelude.init - -pshow :: (Show a, IsString c) => a -> c -pshow = fromString . show - -perror :: StringConv stringLike String => stringLike -> a -perror = error . toS - -pread :: (Read a, StringConv stringLike String) => stringLike -> a -pread = Prelude.read . toS - -noWarnUndefined :: a -noWarnUndefined = Prelude.undefined - -perrorToFile :: StringConv stringLike Text => Text -> stringLike -> a -perrorToFile path err = unsafePerformIO $ do - writeFile (toS path) (toS err) - perror (Text.take 100 (toS err :: Text) <> "...REST OF ERROR IN " <> toS path) +{-# LANGUAGE UndecidableInstances, MultiParamTypeClasses, FlexibleInstances, FlexibleContexts+ , NoMonomorphismRestriction, OverloadedStrings #-}+{-# OPTIONS_GHC -fno-warn-orphans #-}+module Interlude ( module X, unsafeTail, unsafeHead, unsafeLast, unsafeInit+ , pshow, perror, pread, noWarnUndefined, perrorToFile ) where++import qualified Prelude+import Protolude as X hiding ( (&), catch, try, (<.>), wait, error, filter, ordNub+ , catMaybes, mapMaybe, handle, catches, Handler(..) )+import Prelude as X (error)+import Control.Monad.Catch as X ( MonadThrow, MonadCatch, catch, throwM, try, handle, catches+ , Handler(..), handleIf, catchIf )+import Control.Monad.Trans.Class as X+import Control.Monad.State as X (modify')+import Control.Lens.Operators as X+import Control.Lens.TH as X+import Control.Lens as X (view)+import Data.Aeson.TH as X+import Data.Aeson as X (ToJSON, FromJSON)+import Data.Coerce as X+import Data.Char as X+import Data.Witherable as X+import Data.String+import Control.Monad.Trans.Control as X (MonadBaseControl, MonadTransControl)+import Control.Monad.Random as X+import GHC.IO++import qualified Data.Text as Text++unsafeTail :: [a] -> [a]+unsafeTail = Prelude.tail++unsafeHead :: [a] -> a+unsafeHead = Prelude.head++unsafeLast :: [a] -> a+unsafeLast = Prelude.last++unsafeInit :: [a] -> [a]+unsafeInit = Prelude.init++pshow :: (Show a, IsString c) => a -> c+pshow = fromString . show++perror :: StringConv stringLike String => stringLike -> a+perror = error . toS++pread :: (Read a, StringConv stringLike String) => stringLike -> a+pread = Prelude.read . toS++noWarnUndefined :: a+noWarnUndefined = Prelude.undefined++perrorToFile :: StringConv stringLike Text => Text -> stringLike -> a+perrorToFile path err = unsafePerformIO $ do+ writeFile (toS path) (toS err)+ perror (Text.take 100 (toS err :: Text) <> "...REST OF ERROR IN " <> toS path)