@@ -56,7 +56,7 @@ module Streamly.Internal.FileSystem.Dir
58import Control.Monad.IO.Class (MonadIO(..))
58import Control.Monad.IO.Class (MonadIO(..))
59−import Data.Either (isRight, fromRight, isLeft, fromLeft)
59+import Data.Either (isRight, isLeft)
60-- import Data.Word (Word8)
60-- import Data.Word (Word8)
61-- import Foreign.ForeignPtr (withForeignPtr)
61-- import Foreign.ForeignPtr (withForeignPtr)
62-- import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
62-- import Foreign.ForeignPtr.Unsafe (unsafeForeignPtrToPtr)
@@ -84,6 +84,18 @@ import qualified Streamly.Internal.Prelude as S
84-- import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
84-- import qualified Streamly.Internal.Data.Stream.StreamD.Type as D
85import qualified System.Directory as Dir
85import qualified System.Directory as Dir
87+#if MIN_VERSION_base(4,10,0)
88+import Data.Either (fromRight, fromLeft)
90+fromLeft :: a -> Either a b -> a
91+fromLeft _ (Left a) = a
94+fromRight :: b -> Either a b -> b
95+fromRight _ (Right b) = b
88{-# INLINABLE readArrayUpto #-}
100{-# INLINABLE readArrayUpto #-}
89readArrayUpto :: Int -> Handle -> IO (Array Word8)
101readArrayUpto :: Int -> Handle -> IO (Array Word8)