on master help sign in
fix test suite for GHCs 8.2 8.4 8.6
commit84f54dbe9b9d1f3afc2fe4541dc9219f36f51d91 authorClaude Heiland-Allen <claude@mathr.co.uk> dateFri 14 Dec 2018, 21:07 (8 years ago) parent6c39f41
5 files changed+30−12
test/Test/Grenade/Layers/Convolution.hs+6−1 test/Test/Grenade/Layers/FullyConnected.hs+6−1 test/Test/Grenade/Layers/Pooling.hs+10−5 test/Test/Grenade/Network.hs+7−4 test/Test/Hedgehog/TypeLits.hs+1−1
test/Test/Grenade/Layers/Convolution.hs+6−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE TemplateHaskell #-}
23{-# LANGUAGE DataKinds #-}
34{-# LANGUAGE GADTs #-}
@@ -15,6 +16,10 @@ import Data.Singletons ()
1516import GHC.TypeLits
1617import GHC.TypeLits.Witnesses
1718
19+#if MIN_VERSION_base(4,9,0)
20+import Data.Kind (Type)
21+#endif
22+
1823import Grenade.Core
1924import Grenade.Layers.Convolution
2025
@@ -25,7 +30,7 @@ import Test.Hedgehog.Hmatrix
2530import Test.Hedgehog.TypeLits
2631import Test.Hedgehog.Compat
2732
28−data OpaqueConvolution :: * where
33+data OpaqueConvolution :: Type where
2934 OpaqueConvolution :: Convolution channels filters kernelRows kernelColumns strideRows strideColumns -> OpaqueConvolution
3035
3136instance Show OpaqueConvolution where
test/Test/Grenade/Layers/FullyConnected.hs+6−1
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE BangPatterns #-}
23{-# LANGUAGE TemplateHaskell #-}
34{-# LANGUAGE DataKinds #-}
@@ -12,6 +13,10 @@ import Data.Singletons ()
1213
1314import GHC.TypeLits
1415
16+#if MIN_VERSION_base(4,9,0)
17+import Data.Kind (Type)
18+#endif
19+
1520import Grenade.Core
1621import Grenade.Layers.FullyConnected
1722
@@ -20,7 +25,7 @@ import Hedgehog
2025import Test.Hedgehog.Compat
2126import Test.Hedgehog.Hmatrix
2227
23−data OpaqueFullyConnected :: * where
28+data OpaqueFullyConnected :: Type where
2429 OpaqueFullyConnected :: (KnownNat i, KnownNat o) => FullyConnected i o -> OpaqueFullyConnected
2530
2631instance Show OpaqueFullyConnected where
test/Test/Grenade/Layers/Pooling.hs+10−5
@@ -1,3 +1,4 @@
1+{-# LANGUAGE CPP #-}
12{-# LANGUAGE TemplateHaskell #-}
23{-# LANGUAGE DataKinds #-}
34{-# LANGUAGE KindSignatures #-}
@@ -9,6 +10,10 @@ module Test.Grenade.Layers.Pooling where
910import Data.Proxy
1011import Data.Singletons ()
1112
13+#if MIN_VERSION_base(4,9,0)
14+import Data.Kind (Type)
15+#endif
16+
1217import GHC.TypeLits
1318import Grenade.Layers.Pooling
1419
@@ -16,7 +21,7 @@ import Hedgehog
1621
1722import Test.Hedgehog.Compat
1823
19−data OpaquePooling :: * where
24+data OpaquePooling :: Type where
2025 OpaquePooling :: (KnownNat kh, KnownNat kw, KnownNat sh, KnownNat sw) => Pooling kh kw sh sw -> OpaquePooling
2126
2227instance Show OpaquePooling where
@@ -24,10 +29,10 @@ instance Show OpaquePooling where
2429
2530genOpaquePooling :: Gen OpaquePooling
2631genOpaquePooling = do
27− Just kernelHeight <- someNatVal <$> choose 2 15
28− Just kernelWidth <- someNatVal <$> choose 2 15
29− Just strideHeight <- someNatVal <$> choose 2 15
30− Just strideWidth <- someNatVal <$> choose 2 15
32+ ~(Just kernelHeight) <- someNatVal <$> choose 2 15
33+ ~(Just kernelWidth ) <- someNatVal <$> choose 2 15
34+ ~(Just strideHeight) <- someNatVal <$> choose 2 15
35+ ~(Just strideWidth ) <- someNatVal <$> choose 2 15
3136
3237 case (kernelHeight, kernelWidth, strideHeight, strideWidth) of
3338 (SomeNat (_ :: Proxy kh), SomeNat (_ :: Proxy kw), SomeNat (_ :: Proxy sh), SomeNat (_ :: Proxy sw)) ->
test/Test/Grenade/Network.hs+7−4
@@ -35,6 +35,9 @@ import GHC.TypeLits hiding (natVal)
3535#else
3636import GHC.TypeLits
3737#endif
38+#if MIN_VERSION_base(4,9,0)
39+import Data.Kind (Type)
40+#endif
3841
3942import GHC.TypeLits.Witnesses
4043import Test.Hedgehog.Compat
@@ -46,7 +49,7 @@ import Numeric.LinearAlgebra ( flatten )
4649import Numeric.LinearAlgebra.Static ( extract, norm_Inf )
4750import Unsafe.Coerce
4851
49−data SomeNetwork :: * where
52+data SomeNetwork :: Type where
5053 SomeNetwork :: ( SingI shapes, SingI (Head shapes), SingI (Last shapes), Show (Network layers shapes) ) => Network layers shapes -> SomeNetwork
5154
5255instance Show SomeNetwork where
@@ -448,7 +451,7 @@ oneUp =
448451 D1Sing SNat ->
449452 let x = 0 :: S ( shape )
450453 in case x of
451− ( S1D x' ) -> do
454+ ( S1D x' ) -> do
452455 let ex = extract x'
453456 let len = VS.length ex
454457 ix <- choose 0 (len - 1)
@@ -460,7 +463,7 @@ oneUp =
460463 D2Sing SNat SNat ->
461464 let x = 0 :: S ( shape )
462465 in case x of
463− ( S2D x' ) -> do
466+ ( S2D x' ) -> do
464467 let ex = flatten ( extract x' )
465468 let len = VS.length ex
466469 ix <- choose 0 (len - 1)
@@ -472,7 +475,7 @@ oneUp =
472475 D3Sing SNat SNat SNat ->
473476 let x = 0 :: S ( shape )
474477 in case x of
475− ( S3D x' ) -> do
478+ ( S3D x' ) -> do
476479 let ex = flatten ( extract x' )
477480 let len = VS.length ex
478481 ix <- choose 0 (len - 1)
test/Test/Hedgehog/TypeLits.hs+1−1
@@ -24,7 +24,7 @@ import Test.Hedgehog.Compat
2424
2525genNat :: Gen SomeNat
2626genNat = do
27− Just n <- someNatVal <$> choose 1 10
27+ ~(Just n) <- someNatVal <$> choose 1 10
2828 return n
2929
3030#if __GLASGOW_HASKELL__ < 800