6533e18b7d8545ff73b84239e0f9d8f6962a98b1
[ghc.git] / testsuite / tests / safeHaskell / unsafeLibs / GoodImport03.hs
1 {-# LANGUAGE Safe #-}
2 -- | Import all modules from prelude that should be safe
3 module Main where
4
5 import Numeric
6 import Prelude
7 -- import Foreign
8
9 import Control.Applicative
10 import Control.Arrow
11 import Control.Category
12
13 -- import Control.ST
14 -- import Control.ST.Lazy
15 -- import Control.ST.Strict
16
17 import Control.Concurrent
18 import Control.Concurrent.Chan
19 import Control.Concurrent.MVar
20
21 import Control.Exception
22 import Control.Exception.Base
23
24 import Control.Monad
25 import Control.Monad.Fix
26 import Control.Monad.Zip
27
28 import Data.Bits
29 import Data.Bool
30 import Data.Char
31 import Data.Complex
32 import Data.Either
33 import Data.Eq
34 import Data.Fixed
35 import Data.Foldable
36 import Data.Function
37 import Data.Functor
38 import Data.IORef
39 import Data.Int
40 import Data.Ix
41 import Data.List
42 import Data.Maybe
43 import Data.Monoid
44 import Data.Ord
45 import Data.Ratio
46 import Data.String
47 import Data.Traversable
48 import Data.Tuple
49 import Data.Typeable
50 import Data.Unique
51 import Data.Version
52 import Data.Word
53
54 import Data.STRef
55 import Data.STRef.Lazy
56 import Data.STRef.Strict
57
58 -- import Debug.Trace
59
60 import Foreign.Concurrent
61 -- import Foreign.ForeignPtr
62 import Foreign.Ptr
63 import Foreign.StablePtr
64 import Foreign.Storable
65
66 import Foreign.C
67 import Foreign.C.Error
68 import Foreign.C.String
69 import Foreign.C.Types
70
71 -- import Foreign.Marshal
72 import Foreign.Marshal.Alloc
73 import Foreign.Marshal.Array
74 import Foreign.Marshal.Error
75 import Foreign.Marshal.Pool
76 import Foreign.Marshal.Utils
77
78 import System.CPUTime
79 import System.Environment
80 import System.Exit
81 import System.Info
82 import System.Mem
83 import System.Timeout
84
85 import System.Console.GetOpt
86
87 import System.IO
88 import System.IO.Error
89
90 import System.Mem.StableName
91 import System.Mem.Weak
92
93 import System.Posix.Internals
94 import System.Posix.Types
95
96 import Text.Printf
97
98 import Text.Read
99 import Text.Read.Lex
100
101 import Text.Show
102 import Text.Show.Functions
103
104 import Text.ParserCombinators.ReadP
105 import Text.ParserCombinators.ReadPrec
106
107 -- import Unsafe.Coerce
108
109 f :: Int
110 f = 2
111
112 main :: IO ()
113 main = putStrLn $ "X is: " ++ show f
114