diff --git a/README.md b/README.md index 128b71c9e..f1bf4e06b 100644 --- a/README.md +++ b/README.md @@ -91,7 +91,7 @@ tracks Stack LTS resolver. | Dependencies | Lower | Upper | | ----------- | -------- | -------- | -| array | | 0.5 | +| array | 0.4 | 0.5 | | async | 2.0 | 2.2 | | base | 4.6 | 4.10 | | bytestring | 0.10 | 0.11 | diff --git a/src/List.hs b/src/List.hs index 9c22f1785..635236e8f 100644 --- a/src/List.hs +++ b/src/List.hs @@ -16,12 +16,12 @@ import Data.Ord (Ord, comparing) import Data.Foldable (Foldable, foldr, foldl') import Data.Function ((.)) import Data.Functor (fmap) -import Control.Monad (return) +import Control.Applicative (pure) import qualified Data.Set as Set import GHC.Num (Num, (+), (*)) head :: (Foldable f) => f a -> Maybe a -head = foldr (\x _ -> return x) Nothing +head = foldr (\x _ -> pure x) Nothing sortOn :: (Ord o) => (a -> o) -> [a] -> [a] sortOn = sortBy . comparing diff --git a/src/Protolude.hs b/src/Protolude.hs index edb4dc0ee..ecd2b4c5a 100644 --- a/src/Protolude.hs +++ b/src/Protolude.hs @@ -93,8 +93,15 @@ import Control.Applicative as X ( ) -- Base typeclasses -import Data.Eq as X -import Data.Ord as X +import Data.Eq as X ( + Eq(..) + ) +import Data.Ord as X ( + Ord(..) + , Ordering(..) + , Down(..) + , comparing + ) import Data.Traversable as X import Data.Foldable as X hiding ( foldr1 @@ -102,7 +109,9 @@ import Data.Foldable as X hiding ( , product , sum ) -import Data.Functor.Identity as X +import Data.Functor.Identity as X ( + Identity(..) + ) #if MIN_VERSION_base(4,9,0) import Data.List.NonEmpty as X ( @@ -286,17 +295,23 @@ import Control.Monad.Trans as X ( ) -- Base types -import Data.Int as X +import Data.Int as X ( + Int + , Int8 + , Int16 + , Int32 + , Int64 + ) import Data.Bits as X hiding ( unsafeShiftL , unsafeShiftR ) import Data.Word as X ( Word + , Word8 , Word16 , Word32 , Word64 - , Word8 #if MIN_VERSION_base(4,7,0) , byteSwap16 , byteSwap32 @@ -445,12 +460,52 @@ import Control.Exception as X hiding ( import qualified Control.Exception -import Control.Monad.STM as X +import Control.Monad.STM as X ( + STM + , atomically + , always + , alwaysSucceeds + , retry + , orElse + , check + , throwSTM + , catchSTM + ) import Control.Concurrent as X hiding ( throwTo , yield ) -import Control.Concurrent.Async as X +import Control.Concurrent.Async as X ( + Async(..) + , Concurrently(..) + , async + , asyncBound + , asyncOn + , withAsync + , withAsyncBound + , withAsyncOn + , wait + , poll + , waitCatch + , cancel + , cancelWith + , asyncThreadId + , waitAny + , waitAnyCatch + , waitAnyCancel + , waitAnyCatchCancel + , waitEither + , waitEitherCatch + , waitEitherCancel + , waitEitherCatchCancel + , waitEither_ + , waitBoth + , link + , link2 + , race + , race_ + , concurrently + ) import Foreign.Storable as X (Storable) diff --git a/test_stack_lts.sh b/test_stack_lts.sh index bef4931b3..f439f47fa 100755 --- a/test_stack_lts.sh +++ b/test_stack_lts.sh @@ -1,3 +1,3 @@ -STACK_YAML=stack-7.8.yaml stack build -STACK_YAML=stack-7.10.yaml stack build -STACK_YAML=stack-8.0.yaml stack build +STACK_YAML=stack-7.8.yaml stack build --no-terminal +STACK_YAML=stack-7.10.yaml stack build --no-terminal +STACK_YAML=stack-8.0.yaml stack build --no-terminal