Several fixes to work with ghc-head
authorDouglas Wilson <douglas.wilson@gmail.com>
Sat, 16 Jun 2018 16:37:03 +0000 (12:37 -0400)
committerBen Gamari <ben@smart-cactus.org>
Sat, 16 Jun 2018 16:37:03 +0000 (12:37 -0400)
Reviewers: O26 nofib, michalt

Reviewed By: O26 nofib, michalt

Subscribers: michalt

Differential Revision: https://phabricator.haskell.org/D4391

gc/hash/HashTable.hs
parallel/minimax/Tree.hs
smp/threads006/Main.hs

index 84fc85c..97ebd0b 100644 (file)
@@ -37,7 +37,7 @@ module HashTable
  ) where
 
 #ifdef __GLASGOW_HASKELL__
-import GHC.Base
+import GHC.Base hiding (mapM)
 #else
 import Prelude  hiding  ( lookup )
 #endif
index 3483868..88e1631 100644 (file)
@@ -14,11 +14,11 @@ repTree f g a = Branch a (map (repTree g f) (f a))
 #ifndef SEQ
 
 mapTree :: (a -> b) -> Tree a -> Tree b
-mapTree f (Branch a l) 
+mapTree f (Branch a l)
    = fa `par` Branch fa (map (mapTree f) l `using` myParList)
    where fa = f a
 
-#else  {- SEQ -}
+#else /* SEQ */
 
 mapTree :: (a -> b) -> (Tree a) -> (Tree b)
 mapTree f (Branch a l) = Branch (f a) (map (mapTree f) l)
@@ -38,4 +38,3 @@ parTree n (Branch a xs) = a `par` mySeqList (map (parTree (n-1)) xs)
 prune :: Int -> (Tree a) -> (Tree a)
 prune 0 (Branch a l) = Branch a []
 prune n (Branch a l) = Branch a (map (prune (n-1)) l)
-
index 42a74d9..11d7505 100644 (file)
@@ -59,7 +59,7 @@ main :: IO ()
 main = do
     hSetBuffering stdout NoBuffering
     [nthreads] <- fmap (map read) getArgs
-    tids <- replicateM nthreads . mask $ \_ -> forkIO $ return ()
+    tids <- replicateM nthreads . mask_ $ forkIO $ return ()
     m <- newEmptyMVar
     -- do it in a subthread to avoid bound-thread overhead
     forkIO $ do mapM_ killThread tids; putMVar m ()