X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=Foreign%2FPtr.hs;h=f57e1ac52d67da9ef45bef84fe5968690c11bdc0;hb=10de2c656f74562b662c22928be85e1b3ccda796;hp=cc5008c8d1ccb30db1b5fb8d71f4fdc4bbeb158b;hpb=a9add2f6d9e5362e44dafb8526fe392798c3a522;p=ghc-base.git diff --git a/Foreign/Ptr.hs b/Foreign/Ptr.hs index cc5008c..f57e1ac 100644 --- a/Foreign/Ptr.hs +++ b/Foreign/Ptr.hs @@ -1,4 +1,4 @@ -{-# OPTIONS_GHC -fno-implicit-prelude #-} +{-# OPTIONS_GHC -XNoImplicitPrelude #-} ----------------------------------------------------------------------------- -- | -- Module : Foreign.Ptr @@ -18,27 +18,27 @@ module Foreign.Ptr ( -- * Data pointers - + Ptr, -- data Ptr a nullPtr, -- :: Ptr a castPtr, -- :: Ptr a -> Ptr b plusPtr, -- :: Ptr a -> Int -> Ptr b alignPtr, -- :: Ptr a -> Int -> Ptr a minusPtr, -- :: Ptr a -> Ptr b -> Int - + -- * Function pointers - + FunPtr, -- data FunPtr a nullFunPtr, -- :: FunPtr a castFunPtr, -- :: FunPtr a -> FunPtr b castFunPtrToPtr, -- :: FunPtr a -> Ptr b castPtrToFunPtr, -- :: Ptr a -> FunPtr b - + freeHaskellFunPtr, -- :: FunPtr a -> IO () -- Free the function pointer created by foreign export dynamic. #ifndef __NHC__ - -- * Integral types with lossless conversion to/from pointers + -- * Integral types with lossless conversion to and from pointers IntPtr, ptrToIntPtr, intPtrToPtr, @@ -57,17 +57,17 @@ import GHC.Read import GHC.Real import GHC.Show import GHC.Enum -import GHC.Word ( Word(..) ) +import GHC.Word ( Word(..) ) import Data.Int import Data.Word #else +import Control.Monad ( liftM ) import Foreign.C.Types #endif -import Control.Monad ( liftM ) import Data.Bits -import Data.Typeable ( Typeable(..), mkTyCon, mkTyConApp ) +import Data.Typeable ( Typeable(..), mkTyCon, mkTyConApp ) import Foreign.Storable ( Storable(..) ) #ifdef __NHC__ @@ -108,12 +108,12 @@ foreign import ccall unsafe "freeHaskellFunctionPtr" -- | An unsigned integral type that can be losslessly converted to and from -- @Ptr@. INTEGRAL_TYPE(WordPtr,tyConWordPtr,"WordPtr",Word) - -- Word and Int are guaranteed pointer-sized in GHC + -- Word and Int are guaranteed pointer-sized in GHC -- | A signed integral type that can be losslessly converted to and from -- @Ptr@. INTEGRAL_TYPE(IntPtr,tyConIntPtr,"IntPtr",Int) - -- Word and Int are guaranteed pointer-sized in GHC + -- Word and Int are guaranteed pointer-sized in GHC -- | casts a @Ptr@ to a @WordPtr@ ptrToWordPtr :: Ptr a -> WordPtr