on master help sign in
examples: Use CPP to support multiple GHC versions
commit14ec0de6bf65d28f981b171ee00f2e0993a369ec authorErik de Castro Lopo <erikd@mega-nerd.com> dateMon 27 Jan 2020, 07:35 (7 years ago) parentc793c75
5 files changed+20−1
examples/main/feedforward.hs+3−1 examples/main/gan-mnist.hs+3 examples/main/mnist.hs+4 examples/main/recurrent.hs+4 examples/main/shakespeare.hs+6
examples/main/feedforward.hs+3−1
@@ -1,4 +1,5 @@
11{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE CPP #-}
23{-# LANGUAGE DataKinds #-}
34{-# LANGUAGE ScopedTypeVariables #-}
45{-# LANGUAGE TypeOperators #-}
@@ -10,8 +11,9 @@ import Data.List ( foldl' )
1011
1112import qualified Data.ByteString as B
1213import Data.Serialize
14+#if ! MIN_VERSION_base(4,13,0)
1315import Data.Semigroup ( (<>) )
14−
16+#endif
1517import GHC.TypeLits
1618
1719import qualified Numeric.LinearAlgebra.Static as SA
examples/main/gan-mnist.hs+3
@@ -1,4 +1,5 @@
11{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE CPP #-}
23{-# LANGUAGE DataKinds #-}
34{-# LANGUAGE GADTs #-}
45{-# LANGUAGE ScopedTypeVariables #-}
@@ -43,7 +44,9 @@ import Control.Monad.Trans.Except
4344import qualified Data.Attoparsec.Text as A
4445import qualified Data.ByteString as B
4546import Data.List ( foldl' )
47+#if ! MIN_VERSION_base(4,13,0)
4648import Data.Semigroup ( (<>) )
49+#endif
4750import Data.Serialize
4851import qualified Data.Text as T
4952import qualified Data.Text.IO as T
examples/main/mnist.hs+4
@@ -1,4 +1,5 @@
11{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE CPP #-}
23{-# LANGUAGE DataKinds #-}
34{-# LANGUAGE ScopedTypeVariables #-}
45{-# LANGUAGE TypeOperators #-}
@@ -13,7 +14,10 @@ import Control.Monad.Trans.Except
1314
1415import qualified Data.Attoparsec.Text as A
1516import Data.List ( foldl' )
17+#if ! MIN_VERSION_base(4,13,0)
1618import Data.Semigroup ( (<>) )
19+#endif
20+
1721import qualified Data.Text as T
1822import qualified Data.Text.IO as T
1923import qualified Data.Vector.Storable as V
examples/main/recurrent.hs+4
@@ -9,8 +9,12 @@
99import Control.Monad ( foldM )
1010import Control.Monad.Random ( MonadRandom, getRandomR )
1111
12+#if MIN_VERSION_base(4,13,0)
13+import Data.List ( unfoldr )
14+#else
1215import Data.List ( cycle, unfoldr )
1316import Data.Semigroup ( (<>) )
17+#endif
1418
1519import qualified Numeric.LinearAlgebra.Static as SA
1620
examples/main/shakespeare.hs+6
@@ -1,4 +1,5 @@
11{-# LANGUAGE BangPatterns #-}
2+{-# LANGUAGE CPP #-}
23{-# LANGUAGE RecordWildCards #-}
34{-# LANGUAGE DataKinds #-}
45{-# LANGUAGE ScopedTypeVariables #-}
@@ -13,13 +14,18 @@ import Control.Monad.Trans.Except
1314import Data.Char ( isUpper, toUpper, toLower )
1415import Data.List ( foldl' )
1516import Data.Maybe ( fromMaybe )
17+
18+#if ! MIN_VERSION_base(4,13,0)
1619import Data.Semigroup ( (<>) )
20+#endif
1721
1822import qualified Data.Vector as V
1923import Data.Vector ( Vector )
2024
2125import qualified Data.Map as M
26+#if ! MIN_VERSION_base(4,13,0)
2227import Data.Proxy ( Proxy (..) )
28+#endif
2329
2430import qualified Data.ByteString as B
2531import Data.Serialize