You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
143 lines
4.7 KiB
143 lines
4.7 KiB
--- darcs-2.8.5-orig/src/Darcs/Repository/Internal.hs 2014-08-26 06:27:34.000000000 +1000
|
|
+++ darcs-2.8.5/src/Darcs/Repository/Internal.hs 2015-01-03 12:18:03.576529408 +1100
|
|
@@ -71,8 +71,8 @@
|
|
writeProblem, readProblem, readfromAndWritetoProblem )
|
|
import System.Directory ( doesDirectoryExist, setCurrentDirectory,
|
|
createDirectoryIfMissing, doesFileExist )
|
|
-import Control.Monad ( when, unless, filterM )
|
|
-import Control.Applicative ( (<$>) )
|
|
+import Control.Monad ( when, unless, filterM, ap )
|
|
+import Control.Applicative ( Applicative(..), (<$>) )
|
|
import Control.Exception ( catch, IOException )
|
|
|
|
import Workaround ( getCurrentDirectory, renameFile, setExecutable )
|
|
@@ -184,6 +184,10 @@
|
|
instance Functor (RIO p C(r u t t)) where
|
|
fmap f m = RIO $ \r -> fmap f (unsafeUnRIO m r)
|
|
|
|
+instance Applicative (RIO p C(r u t t)) where
|
|
+ pure = return
|
|
+ (<*>) = ap
|
|
+
|
|
-- | We have an instance of Monad so that IO actions that do not
|
|
-- change the tentative recorded state are convenient in the IO monad.
|
|
instance Monad (RIO p C(r u t t)) where
|
|
--- darcs-2.8.5-orig/src/Darcs/Patch/Prim/V1/Commute.hs 2014-08-26 06:27:34.000000000 +1000
|
|
+++ darcs-2.8.5/src/Darcs/Patch/Prim/V1/Commute.hs 2015-01-03 12:11:31.281425244 +1100
|
|
@@ -6,7 +6,8 @@
|
|
where
|
|
|
|
import Prelude hiding ( pi )
|
|
-import Control.Monad ( MonadPlus, msum, mzero, mplus )
|
|
+import Control.Applicative ( Applicative(..), Alternative(..) )
|
|
+import Control.Monad ( MonadPlus, msum, mzero, mplus, liftM, ap )
|
|
|
|
import qualified Data.ByteString as B (ByteString, concat)
|
|
import qualified Data.ByteString.Char8 as BC (pack)
|
|
@@ -35,6 +36,17 @@
|
|
|
|
data Perhaps a = Unknown | Failed | Succeeded a
|
|
|
|
+instance Functor Perhaps where
|
|
+ fmap = liftM
|
|
+
|
|
+instance Applicative Perhaps where
|
|
+ pure = return
|
|
+ (<*>) = ap
|
|
+
|
|
+instance Alternative Perhaps where
|
|
+ (<|>) = mplus
|
|
+ empty = mzero
|
|
+
|
|
instance Monad Perhaps where
|
|
(Succeeded x) >>= k = k x
|
|
Failed >>= _ = Failed
|
|
--- darcs-2.8.5-orig/src/Darcs/IO.hs 2014-08-26 06:27:34.000000000 +1000
|
|
+++ darcs-2.8.5/src/Darcs/IO.hs 2015-01-03 12:06:40.423103022 +1100
|
|
@@ -23,6 +23,7 @@
|
|
import Data.Char ( toLower )
|
|
import Data.List ( isSuffixOf )
|
|
import System.IO.Error ( isDoesNotExistError, isPermissionError )
|
|
+import Control.Applicative ( Applicative(..) )
|
|
import Control.Exception.Extensible ( catch, SomeException, IOException )
|
|
import Control.Monad.Error
|
|
import System.Directory ( createDirectory,
|
|
@@ -97,6 +98,10 @@
|
|
instance Functor TolerantIO where
|
|
fmap f m = m >>= return . f
|
|
|
|
+instance Applicative TolerantIO where
|
|
+ pure = return
|
|
+ (<*>) = ap
|
|
+
|
|
instance Monad TolerantIO where
|
|
f >>= g = runTM $ runIO f >>= runIO . g
|
|
f >> g = runTM $ runIO f >> runIO g
|
|
@@ -106,6 +111,10 @@
|
|
instance Functor SilentIO where
|
|
fmap f m = m >>= return . f
|
|
|
|
+instance Applicative SilentIO where
|
|
+ pure = return
|
|
+ (<*>) = ap
|
|
+
|
|
instance Monad SilentIO where
|
|
f >>= g = runTM $ runIO f >>= runIO . g
|
|
f >> g = runTM $ runIO f >> runIO g
|
|
--- darcs-2.8.5-orig/src/Darcs/Patch/V2/Real.hs 2014-08-26 06:27:34.000000000 +1000
|
|
+++ darcs-2.8.5/src/Darcs/Patch/V2/Real.hs 2015-01-03 11:14:40.109221505 +1100
|
|
@@ -29,6 +29,9 @@
|
|
, mergeUnravelled
|
|
) where
|
|
|
|
+#if MIN_VERSION_base(4,8,0)
|
|
+import Prelude hiding ( (*>) )
|
|
+#endif
|
|
import Control.Monad ( mplus, liftM )
|
|
import qualified Data.ByteString.Char8 as BC ( ByteString, pack )
|
|
import Data.Maybe ( fromMaybe )
|
|
--- darcs-2.8.5-orig/src/Darcs/Patch/V2/Non.hs 2014-08-26 06:27:34.000000000 +1000
|
|
+++ darcs-2.8.5/src/Darcs/Patch/V2/Non.hs 2015-01-03 11:14:08.073788136 +1100
|
|
@@ -40,7 +40,11 @@
|
|
, (>>*)
|
|
) where
|
|
|
|
+#if MIN_VERSION_base(4,8,0)
|
|
+import Prelude hiding ( rem, (*>) )
|
|
+#else
|
|
import Prelude hiding ( rem )
|
|
+#endif
|
|
import Data.List ( delete )
|
|
import Control.Monad ( liftM, mzero )
|
|
import Darcs.Patch.Commute ( commuteFL )
|
|
--- darcs-2.8.5-orig/src/Darcs/Patch/V1/Commute.hs 2014-08-26 06:27:34.000000000 +1000
|
|
+++ darcs-2.8.5/src/Darcs/Patch/V1/Commute.hs 2015-01-03 12:11:47.084707544 +1100
|
|
@@ -28,7 +28,8 @@
|
|
)
|
|
where
|
|
|
|
-import Control.Monad ( MonadPlus, mplus, msum, mzero, guard )
|
|
+import Control.Applicative ( Applicative(..), Alternative(..) )
|
|
+import Control.Monad ( MonadPlus, mplus, msum, mzero, guard, liftM, ap )
|
|
|
|
import Darcs.Patch.Commute ( toFwdCommute )
|
|
import Darcs.Patch.ConflictMarking ( mangleUnravelled )
|
|
@@ -69,6 +70,17 @@
|
|
|
|
data Perhaps a = Unknown | Failed | Succeeded a
|
|
|
|
+instance Functor Perhaps where
|
|
+ fmap = liftM
|
|
+
|
|
+instance Applicative Perhaps where
|
|
+ pure = return
|
|
+ (<*>) = ap
|
|
+
|
|
+instance Alternative Perhaps where
|
|
+ (<|>) = mplus
|
|
+ empty = mzero
|
|
+
|
|
instance Monad Perhaps where
|
|
(Succeeded x) >>= k = k x
|
|
Failed >>= _ = Failed
|