ghc-7.8.2: The GHC API

Copyright | (c) Lodz University of Technology 2013
License | see LICENSE
Maintainer | ghc-devs@haskell.org
Stability | internal
Portability | non-portable (GHC internal)
Safe Haskell | None
Language | Haskell98

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# -> Bool

geChar# :: Char# -> Char# -> Bool

eqChar# :: Char# -> Char# -> Bool

neChar# :: Char# -> Char# -> Bool

ltChar# :: Char# -> Char# -> Bool

leChar# :: Char# -> Char# -> Bool

(>#) :: Int# -> Int# -> Bool infix 4

(>=#) :: Int# -> Int# -> Bool infix 4

(==#) :: Int# -> Int# -> Bool infix 4

(/=#) :: Int# -> Int# -> Bool infix 4

(<#) :: Int# -> Int# -> Bool infix 4

(<=#) :: Int# -> Int# -> Bool infix 4

gtWord# :: Word# -> Word# -> Bool

geWord# :: Word# -> Word# -> Bool

eqWord# :: Word# -> Word# -> Bool

neWord# :: Word# -> Word# -> Bool

ltWord# :: Word# -> Word# -> Bool

leWord# :: Word# -> Word# -> Bool

(>##) :: Double# -> Double# -> Bool infix 4

(>=##) :: Double# -> Double# -> Bool infix 4

(==##) :: Double# -> Double# -> Bool infix 4

(/=##) :: Double# -> Double# -> Bool infix 4

(<##) :: Double# -> Double# -> Bool infix 4

(<=##) :: Double# -> Double# -> Bool infix 4

gtFloat# :: Float# -> Float# -> Bool

geFloat# :: Float# -> Float# -> Bool

eqFloat# :: Float# -> Float# -> Bool

neFloat# :: Float# -> Float# -> Bool

ltFloat# :: Float# -> Float# -> Bool

leFloat# :: Float# -> Float# -> Bool

gtAddr# :: Addr# -> Addr# -> Bool

geAddr# :: Addr# -> Addr# -> Bool

eqAddr# :: Addr# -> Addr# -> Bool

neAddr# :: Addr# -> Addr# -> Bool

ltAddr# :: Addr# -> Addr# -> Bool

leAddr# :: Addr# -> Addr# -> Bool

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

sameMutableByteArray# :: MutableByteArray# s -> MutableByteArray# s -> Bool

sameMutableArrayArray# :: MutableArrayArray# s -> MutableArrayArray# s -> Bool

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

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

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