summaryrefslogtreecommitdiff
path: root/src/compiler/GF/CompileInParallel.hs
diff options
context:
space:
mode:
authorInari Listenmaa <inari.listenmaa@gmail.com>2025-08-02 18:59:07 +0200
committerGitHub <noreply@github.com>2025-08-02 18:59:07 +0200
commit65e85c5a3cba4df82547a018b4135ac63551d8df (patch)
tree33a842b24b9e3851c6b6cf095f11f562b0fd6b7f /src/compiler/GF/CompileInParallel.hs
parent981d6b9bddacee6a204ac48f2a4e27f4cca1bd47 (diff)
parent01c4f82e077b93cb2318830c56070c0ec15a20e6 (diff)
Merge pull request #175 from inariksit/new-ghc
Changes to make it work with newer stack/GHC: - unix library changed API in 2.8 - Monad of no return & Semigroup as a superclass of Monoid - import Control.Monad (join, when, (<=<)) - fixed CI issues
Diffstat (limited to 'src/compiler/GF/CompileInParallel.hs')
-rw-r--r--src/compiler/GF/CompileInParallel.hs18
1 files changed, 9 insertions, 9 deletions
diff --git a/src/compiler/GF/CompileInParallel.hs b/src/compiler/GF/CompileInParallel.hs
index ed498a690..11f806175 100644
--- a/src/compiler/GF/CompileInParallel.hs
+++ b/src/compiler/GF/CompileInParallel.hs
@@ -61,11 +61,11 @@ parallelBatchCompile jobs opts rootfiles0 =
usesPresent (_,paths) = take 1 libs==["present"]
where
- libs = [p|path<-paths,
- let (d,p0) = splitAt n path
- p = dropSlash p0,
- d==lib_dir,p `elem` all_modes]
- n = length lib_dir
+ libs = [p | path<-paths,
+ let (d,p0) = splitAt n path
+ p = dropSlash p0,
+ d==lib_dir, p `elem` all_modes]
+ n = length lib_dir
all_modes = ["alltenses","present"]
@@ -175,7 +175,7 @@ batchCompile1 lib_dir (opts,filepaths) =
" from being compiled."
else return (maximum ts,(cnc,gr))
-splitEither es = ([x|Left x<-es],[y|Right y<-es])
+splitEither es = ([x | Left x<-es], [y | Right y<-es])
canonical path = liftIO $ D.canonicalizePath path `catch` const (return path)
@@ -238,12 +238,12 @@ runCO (CO m) = do (o,x) <- m
instance Functor m => Functor (CollectOutput m) where
fmap f (CO m) = CO (fmap (fmap f) m)
-instance (Functor m,Monad m) => Applicative (CollectOutput m) where
- pure = return
+instance (Functor m,Monad m) => Applicative (CollectOutput m) where
+ pure x = CO (return (return (),x))
(<*>) = ap
instance Monad m => Monad (CollectOutput m) where
- return x = CO (return (return (),x))
+ return = pure
CO m >>= f = CO $ do (o1,x) <- m
let CO m2 = f x
(o2,y) <- m2