ghc-7.8.20140130: The GHC API

Copyright(c) Lodz University of Technology 2013
Licensesee LICENSE
Maintainerghc-devs@haskell.org
Stabilityinternal
Portabilitynon-portable (GHC internal)
Safe HaskellNone
LanguageHaskell98

ExtsCompat46

Description

Compatibility module to encapsulate primops API change between GHC 7.6 GHC 7.8.

In GHC we use comparison primops in a couple of modules, but that primops have different type signature in GHC 7.6 (where they return Bool) than in GHC 7.8 (where they return Int#). As long as we allow bootstrapping with GHC 7.6 or earlier we need to have this compatibility module, so that we can compile stage1 compiler using the old API and then continue with stage2 using the new API. When we set GHC 7.8 as the minimum version required for bootstrapping, we should remove this module.

Documentation

module GHC.Exts

gtChar# :: Char# -> Char# -> BoolSource

geChar# :: Char# -> Char# -> BoolSource

eqChar# :: Char# -> Char# -> BoolSource

neChar# :: Char# -> Char# -> BoolSource

ltChar# :: Char# -> Char# -> BoolSource

leChar# :: Char# -> Char# -> BoolSource

(>#) :: Int# -> Int# -> BoolSource

(>=#) :: Int# -> Int# -> BoolSource

(==#) :: Int# -> Int# -> BoolSource

(/=#) :: Int# -> Int# -> BoolSource

(<#) :: Int# -> Int# -> BoolSource

(<=#) :: Int# -> Int# -> BoolSource

gtWord# :: Word# -> Word# -> BoolSource

geWord# :: Word# -> Word# -> BoolSource

eqWord# :: Word# -> Word# -> BoolSource

neWord# :: Word# -> Word# -> BoolSource

ltWord# :: Word# -> Word# -> BoolSource

leWord# :: Word# -> Word# -> BoolSource

(>##) :: Double# -> Double# -> BoolSource

(>=##) :: Double# -> Double# -> BoolSource

(==##) :: Double# -> Double# -> BoolSource

(/=##) :: Double# -> Double# -> BoolSource

(<##) :: Double# -> Double# -> BoolSource

(<=##) :: Double# -> Double# -> BoolSource

gtFloat# :: Float# -> Float# -> BoolSource

geFloat# :: Float# -> Float# -> BoolSource

eqFloat# :: Float# -> Float# -> BoolSource

neFloat# :: Float# -> Float# -> BoolSource

ltFloat# :: Float# -> Float# -> BoolSource

leFloat# :: Float# -> Float# -> BoolSource

gtAddr# :: Addr# -> Addr# -> BoolSource

geAddr# :: Addr# -> Addr# -> BoolSource

eqAddr# :: Addr# -> Addr# -> BoolSource

neAddr# :: Addr# -> Addr# -> BoolSource

ltAddr# :: Addr# -> Addr# -> BoolSource

leAddr# :: Addr# -> Addr# -> BoolSource

sameMutableArray# :: MutableArray# s a -> MutableArray# s a -> BoolSource

sameMutableByteArray# :: MutableByteArray# s -> MutableByteArray# s -> BoolSource

sameMutableArrayArray# :: MutableArrayArray# s -> MutableArrayArray# s -> BoolSource

sameMutVar# :: MutVar# s a -> MutVar# s a -> BoolSource

sameTVar# :: TVar# s a -> TVar# s a -> BoolSource

sameMVar# :: MVar# s a -> MVar# s a -> BoolSource