@@ -1,3 +1,5 @@
1+{-# LANGUAGE CPP #-}
2+
13module Main where
24
35import Control.Applicative (Alternative(..))
@@ -13,8 +15,10 @@ import qualified Asyncly as A
1315import qualified Conduit.Simple as S
1416import qualified Control.Monad.Logic as LG
1517import qualified Data.Machine as M
18+#if MIN_VERSION_transient(0,5,1)
1619import qualified Transient.Internals as T
1720import qualified Transient.Indeterminism as T
21+#endif
1822import qualified ListT as LT
1923
2024main :: IO ()
@@ -29,8 +33,10 @@ main = do
2933 , bench "asyncly-interleaved-nil" $ nfIO (asyncly_nil (A.<=>))
3034 , bench "asyncly-parleft-nil" $ nfIO (asyncly_nil (A.<|))
3135 , bench "asyncly-parinterleaved-nil" $ nfIO (asyncly_nil (A.<|>))
36+#if MIN_VERSION_transient(0,5,1)
3237 , bench "transient" $ nfIO transient_basic
3338 , bench "transient-nil" $ nfIO transient_nil
39+#endif
3440 , bench "logict" $ nfIO logict_basic
3541 , bench "list-t" $ nfIO list_t_basic
3642 , bench "simple-conduit" $ nfIO simple_conduit_basic
@@ -58,6 +64,7 @@ drop num x = do
5864 guard mn
5965 return x
6066
67+#if MIN_VERSION_transient(0,5,1)
6168tmap :: (a -> Int) -> a -> T.TransIO Int
6269tmap = Main.map
6370
@@ -68,6 +75,7 @@ tdrop :: Int -> Int -> T.TransIO Int
6875tdrop = Main.drop
6976
7077transient_basic :: IO (Maybe Int)
78+
7179transient_basic = T.keep' $ T.threads 0 $ do
7280 liftIO $ writeIORef count 0
7381 xs <- T.group 49900 $ do
@@ -87,6 +95,7 @@ transient_nil = T.keep' $ T.threads 0 $ do
8795 T.choose [1..100000 :: Int]
8896 assert (Prelude.length xs == 49900) $
8997 T.exit (Prelude.length xs)
98+#endif
9099
91100amap :: (Int -> Int) -> Int -> A.AsyncT IO Int
92101amap = Main.map