Use Safe Haskell when GHC >= 7.2
authorDavid Terei <davidterei@gmail.com>
Mon, 8 Aug 2011 21:31:16 +0000 (14:31 -0700)
committerDavid Terei <davidterei@gmail.com>
Mon, 8 Aug 2011 21:31:16 +0000 (14:31 -0700)
28 files changed:
Control/Monad.hs
Data/Array.hs
Data/Bits.hs
Data/Char.hs
Data/Complex.hs
Data/Int.hs
Data/Ix.hs
Data/List.hs
Data/Maybe.hs
Data/Ratio.hs
Data/Word.hs
Foreign/C.hs
Foreign/C/Error.hs
Foreign/C/String.hs
Foreign/C/Types.hs
Foreign/Marshal/Alloc.hs
Foreign/Marshal/Array.hs
Foreign/Marshal/Error.hs
Foreign/Marshal/Utils.hs
Foreign/Ptr.hs
Foreign/StablePtr.hs
Foreign/Storable.hs
Numeric.hs
Prelude.hs
System/Environment.hs
System/Exit.hs
System/IO.hs
System/IO/Error.hs

index 40f72fc..bf1ab94 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 -- |
 -- The "Control.Monad" module provides the 'Functor', 'Monad' and
 -- 'MonadPlus' classes, together with some useful operations on monads.
index 6bcb356..eedf058 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
+
 module Data.Array (
     -- * Immutable non-strict arrays
     -- $intro
index 250c42d..c864e9f 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 -- |
 -- This module defines bitwise operations for signed and unsigned
 -- integers.
index 8c13a99..f44f68c 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Data.Char (
     -- * Characters and strings
       Char
index b9676c5..1947364 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Data.Complex (
         -- * Rectangular form
           Complex((:+))
index 0f0a310..bba330a 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Data.Int (
         -- * Signed integer types
 
index 26fb3c4..f60c8f7 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Data.Ix (
     -- * The 'Ix' class
         Ix
index 78f633f..d7697f1 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Data.List (
    -- * Basic functions
 
index d89b70c..76a94ce 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Data.Maybe (
    -- * The @Maybe@ type and operations
 
index 1d2e027..17337f5 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Data.Ratio (
       Ratio
     , Rational
index 900d851..5e5da2e 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Data.Word (
         -- * Unsigned integral types
 
index 6fb6d91..b6760da 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Foreign.C (
 
        -- | The module "Foreign.C" combines the interfaces of all
index 0b5540a..8216167 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 -- | The module "Foreign.C.Error" facilitates C-specific error
 -- handling of @errno@.
 module Foreign.C.Error (
index 021c95b..c42b1f3 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 -- |
 -- Utilities for primitive marshalling of C strings.
 --
index 7e489ad..7bfedcb 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Foreign.C.Types
         ( -- * Representations of C types
           -- $ctypes
index 50c4323..bd66723 100644 (file)
@@ -1,3 +1,8 @@
+{-# LANGUAGE CPP #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 {- |
 The module "Foreign.Marshal.Alloc" provides operations to allocate and
 deallocate blocks of raw memory (i.e., unstructured chunks of memory
index a3f643a..ba83350 100644 (file)
@@ -1,3 +1,8 @@
+{-# LANGUAGE CPP #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 {- |
 The module "Foreign.Marshal.Array" provides operations for marshalling Haskell
 lists into monolithic arrays and vice versa.  Most functions come in two
@@ -61,7 +66,11 @@ module Foreign.Marshal.Array (
   ) where
 import qualified "base" Foreign.Marshal.Array as Base
 import "base" Foreign.Marshal.Array hiding (peekArray)
+#if __GLASGOW_HASKELL__ >= 701
+import "base" Foreign.Safe hiding (peekArray)
+#else
 import "base" Foreign hiding (peekArray)
+#endif
 
 -- |Convert an array of given length into a Haskell list.
 --
index b690c8b..3527e81 100644 (file)
@@ -1,3 +1,8 @@
+{-# LANGUAGE CPP #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Foreign.Marshal.Error (
   throwIf,       -- :: (a -> Bool) -> (a -> String) -> IO a       -> IO a
   throwIf_,      -- :: (a -> Bool) -> (a -> String) -> IO a       -> IO ()
index 4a3217f..37d8152 100644 (file)
@@ -1,3 +1,8 @@
+{-# LANGUAGE CPP #-}
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Foreign.Marshal.Utils (
   -- * General marshalling utilities
 
index 3e1e223..169015f 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 -- | The module "Foreign.Ptr" provides typed pointers to foreign
 -- entities.  We distinguish two kinds of pointers: pointers to data
 -- and pointers to functions.  It is understood that these two kinds
index 5fae4b5..e62467a 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Foreign.StablePtr
         ( -- * Stable references to Haskell values
           StablePtr          -- abstract
index 2c88237..b57e223 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Foreign.Storable
         ( Storable(
              sizeOf,         -- :: a -> Int
index bb0d97d..28621cd 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module Numeric (
 
         -- * Showing
index 72e53d2..1573a9e 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Trustworthy #-}
+#endif
+
 {-# LANGUAGE NoImplicitPrelude, BangPatterns #-}
 -- |
 -- The Haskell 2010 Prelude: a standard module imported by default
index 43bfe99..ffd12ee 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module System.Environment (
       getArgs,       -- :: IO [String]
       getProgName,   -- :: IO String
index 0b0be5b..83a5c36 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module System.Exit (
       ExitCode(ExitSuccess,ExitFailure)
     , exitWith      -- :: ExitCode -> IO a
index 2a8b0c7..a1a8fcc 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 module System.IO (
     -- * The IO monad
 
index 6683e9f..aedef5d 100644 (file)
@@ -1,3 +1,7 @@
+#if __GLASGOW_HASKELL__ >= 701
+{-# LANGUAGE Safe #-}
+#endif
+
 {-# OPTIONS_GHC -fno-warn-unused-imports #-}
 -- apparent bug in GHC, reports a bogus warning for the Prelude import below
 module System.IO.Error (