feat(third_party/bazel): Check in rules_haskell from Tweag

This commit is contained in:
Vincent Ambo 2019-07-04 11:18:12 +01:00
parent 2eb1dc26e4
commit f723b8b878
479 changed files with 51484 additions and 0 deletions

View file

@ -0,0 +1,33 @@
{-# LANGUAGE CPP #-}
{-# LANGUAGE PackageImports #-}
module Main (main) where
import Control.Monad (when)
-- Test the PackageImports extension.
import "lib-a-Z" Lib
-- Test macros that GHC creates automatically based on the package version.
versionHighEnoughTest, versionTooLowTest :: Bool
#if MIN_VERSION_lib_a_Z(1,2,3)
versionHighEnoughTest = True
#else
versionHighEnoughTest = False
#endif
#if MIN_VERSION_lib_a_Z(1,2,4)
versionTooLowTest = False
#else
versionTooLowTest = True
#endif
check :: (Show a, Eq a) => a -> a -> IO ()
check x y = when (x /= y) $ error $ "Failed check: " ++ show (x, y)
main :: IO ()
main = do
check foo 42
check VERSION_lib_a_Z "1.2.3.4"
check libPackageKey "testsZSpackage-nameZSlib-a-ZZ"
check versionHighEnoughTest True
check versionTooLowTest True