Update Trac ticket URLs to point to GitLab
[ghc.git] / testsuite / tests / unboxedsums / unboxedsums9.hs
1 {-# LANGUAGE UnboxedSums, UnboxedTuples, MagicHash #-}
2
3 module Main where
4
5 type UbxBool = (# (# #) | (# #) #)
6
7 {-# NOINLINE packBool #-}
8 packBool :: UbxBool -> Bool
9 packBool (# _ | #) = True
10 packBool (# | _ #) = False
11
12 {-# NOINLINE unpackBool #-}
13 unpackBool :: Bool -> UbxBool
14 unpackBool True = (# (# #) | #)
15 unpackBool False = (# | (# #) #)
16
17 {-# NOINLINE showUbxBool #-}
18 showUbxBool :: UbxBool -> String
19 showUbxBool b = show (packBool b)
20
21 main :: IO ()
22 main = do
23 putStrLn (showUbxBool (unpackBool True))
24 putStrLn (showUbxBool (unpackBool False))
25 putStrLn (show (packBool (# (# #) | #)))
26 putStrLn (show (packBool (# | (# #) #)))