blob: 30b6a5e2a84d7f7f3ba6e99db11c666656d29fb6 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
|
{-# LANGUAGE TemplateHaskell, UnboxedTuples #-}
-- test the representation of unboxed tuples
module Main where
import GHC.Exts
import GHC.Float
import Language.Haskell.TH
import Text.PrettyPrint
import System.IO
main :: IO ()
main = case bar () of
(# str, int #) ->
print (str, int)
bar :: () -> (# String, Int #)
bar () = $( do e <- [| case (# 'b', False #) of
(# 'a', True #) -> (# "One", 1 #)
(# 'b', False #) -> (# "Two", 2 #)
(# _, _ #) -> (# "Three", 3 #)
|]
runIO $ putStrLn $ show e
runIO $ putStrLn $ pprint e
runIO $ hFlush stdout
return e )
|