summaryrefslogtreecommitdiff
path: root/tests/examples/ghc86/TH_repE2.hs
blob: fb6997ab9e1e25ac88cf9fabf6b7194ea409a98b (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
28
29
30
31
32
33
34
35
36
37
-- test the representation of literals and also explicit type annotations
{-# LANGUAGE TemplateHaskell #-}

module Main
where

import Language.Haskell.TH

main :: IO ()
main = mapM_ putStrLn [show an_integral, show an_int, show an_integer,
                       show an_char, show an_string, show an_fractional,
                       show an_float, show an_double]

an_integral :: Integer
an_integral = $( [| 42 |] )

an_int :: Int
an_int = $( [| 42 :: Int |] )

an_integer :: Integer
an_integer = $( [| 98765432123456789876 :: Integer |] )

an_char :: Char
an_char = $( [| 'x' |] )

an_string :: String
an_string = $( [| "A String" |] )

an_fractional :: Double
an_fractional = $( [| 1.2 |] )

an_float :: Float
an_float = $( [| 1.2 :: Float |] )

an_double :: Double
an_double = $( [| 1.2 :: Double |] )