[project @ 2000-06-29 21:08:02 by panne]
[ghc-hetmet.git] / ghc / tests / lib / should_run / dynamic002.hs
1 -- !!! Testing Typeable instances
2 module Main(main) where
3
4 import Dynamic
5 import Array
6 import Complex
7 import IO
8 import Addr
9 import ForeignObj
10 import IOExts
11 import Int
12 import ST
13 import StableName
14 import StablePtr
15 import Word
16 import Exception
17 import ByteArray
18 import MutableArray
19 import PackedString
20 import Weak
21 import MArray
22 import IArray
23 import CTypes
24 import CTypesISO
25
26 main :: IO ()
27 main = do
28    print (typeOf (undefined :: [()]))
29    print (typeOf (undefined :: ()))
30    print (typeOf (undefined :: ((),())))
31    print (typeOf (undefined :: ((),(),())))
32    print (typeOf (undefined :: ((),(),(),())))
33    print (typeOf (undefined :: ((),(),(),(),())))
34    print (typeOf (undefined :: (() -> ())))
35    print (typeOf (undefined :: (Array () ())))
36    print (typeOf (undefined :: Bool))
37    print (typeOf (undefined :: Char))
38    print (typeOf (undefined :: (Complex ())))
39    print (typeOf (undefined :: Double))
40    print (typeOf (undefined :: (Either () ())))
41    print (typeOf (undefined :: Float))
42    print (typeOf (undefined :: Handle))
43    print (typeOf (undefined :: Int))
44    print (typeOf (undefined :: Integer))
45    print (typeOf (undefined :: IO ()))
46    print (typeOf (undefined :: (Maybe ())))
47    print (typeOf (undefined :: Ordering))
48
49    print (typeOf (undefined :: Addr))
50    print (typeOf (undefined :: AddrOff))
51    print (typeOf (undefined :: Dynamic))
52    print (typeOf (undefined :: ForeignObj))
53    print (typeOf (undefined :: (IORef ())))
54    print (typeOf (undefined :: Int8))
55    print (typeOf (undefined :: Int16))
56    print (typeOf (undefined :: Int32))
57    print (typeOf (undefined :: Int64))
58    print (typeOf (undefined :: (ST () ())))
59    print (typeOf (undefined :: (StableName ())))
60    print (typeOf (undefined :: (StablePtr ())))
61    print (typeOf (undefined :: TyCon))
62    print (typeOf (undefined :: TypeRep))
63    print (typeOf (undefined :: Word8))
64    print (typeOf (undefined :: Word16))
65    print (typeOf (undefined :: Word32))
66    print (typeOf (undefined :: Word64))
67
68    print (typeOf (undefined :: ArithException))
69    print (typeOf (undefined :: AsyncException))
70    print (typeOf (undefined :: (ByteArray ())))
71    print (typeOf (undefined :: Exception))
72    print (typeOf (undefined :: (IOArray () ())))
73    print (typeOf (undefined :: (IOUArray () ())))
74    print (typeOf (undefined :: (MutableByteArray () ())))
75    print (typeOf (undefined :: PackedString))
76    print (typeOf (undefined :: (STArray () () ())))
77    print (typeOf (undefined :: (STUArray () () ())))
78    print (typeOf (undefined :: (StableName ())))
79    print (typeOf (undefined :: (StablePtr ())))
80    print (typeOf (undefined :: (UArray () ())))
81    print (typeOf (undefined :: (Weak ())))
82
83    print (typeOf (undefined :: CChar))
84    print (typeOf (undefined :: CSChar))
85    print (typeOf (undefined :: CUChar))
86    print (typeOf (undefined :: CShort))
87    print (typeOf (undefined :: CUShort))
88    print (typeOf (undefined :: CInt))
89    print (typeOf (undefined :: CUInt))
90    print (typeOf (undefined :: CLong))
91    print (typeOf (undefined :: CULong))
92    print (typeOf (undefined :: CLLong))
93    print (typeOf (undefined :: CULLong))
94    print (typeOf (undefined :: CFloat))
95    print (typeOf (undefined :: CDouble))
96    print (typeOf (undefined :: CLDouble))
97
98    print (typeOf (undefined :: CPtrdiff))
99    print (typeOf (undefined :: CSize))
100    print (typeOf (undefined :: CWchar))
101    print (typeOf (undefined :: CSigAtomic))
102    print (typeOf (undefined :: CClock))
103    print (typeOf (undefined :: CTime))