ghc-prim

GHC primitives

Version on this page:0.5.0.0
LTS Haskell 9.20:0.5.0.0
Stackage Nightly 2017-12-16:0.5.1.1
Latest on Hackage:0.5.1.0
BSD3 licensed
Maintained by libraries@haskell.org

Module documentation for 0.5.0.0

This package contains the primitive types and operations supplied by GHC.

Changes

0.5.1.0

  • Shipped with GHC 8.2.1

  • Added to GHC.Prim:

      fabsDouble# :: Double# -> Double#
      fabsFloat# :: Float# -> Float#
      isByteArrayPinned# :: ByteArray# -> Int#
      isMutableByteArrayPinned# :: MutableByteArray# s -> Int#
      anyToAddr# :: a -> State# (RealWorld) -> (# State# (RealWorld),Addr# #)
  • New primitives for compact regions in GHC.Prim:

      Compact#
      compactNew#
      compactResize#
      compactContains#
      compactContainsAny#
      compactGetFirstBlock#
      compactGetNextBlock#
      compactAllocateBlock#
      compactFixupPointers#
      compactAdd#
      compactAddWithSharing#
      compactSize#
  • Generalised noDuplicate# from

      noDuplicate# :: State# (RealWorld) -> State# (RealWorld)

    to

      noDuplicate# :: State# s -> State# s

0.5.0.0

  • Shipped with GHC 8.0.1

  • GHC.Classes: new class IP (a :: Symbol) b | a -> b

  • GHC.Prim: changed type signatures from

      check# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> (# State# RealWorld, () #)
      finalizeWeak# :: Weak# a -> State# RealWorld -> (# State# RealWorld, Int#, State# RealWorld -> (# State# RealWorld, () #) #)
      mkWeak# :: a -> b -> c -> State# RealWorld -> (# State# RealWorld, Weak# b #)

    to

      check# :: (State# RealWorld -> (# State# RealWorld, a #)) -> State# RealWorld -> State# RealWorld
      finalizeWeak# :: Weak# a -> State# RealWorld -> (# State# RealWorld, Int#, State# RealWorld -> (# State# RealWorld, b #) #)
      mkWeak# :: a -> b -> (State# RealWorld -> (# State# RealWorld, c #)) -> State# RealWorld -> (# State# RealWorld, Weak# b #)
  • Removed from GHC.Prim:

      parAt# :: b -> a -> Int# -> Int# -> Int# -> Int# -> c -> Int#
      parAtAbs# :: a -> Int# -> Int# -> Int# -> Int# -> Int# -> b -> Int#
      parAtForNow# :: b -> a -> Int# -> Int# -> Int# -> Int# -> c -> Int#
      parAtRel# :: a -> Int# -> Int# -> Int# -> Int# -> Int# -> b -> Int#
      parGlobal# :: a -> Int# -> Int# -> Int# -> Int# -> b -> Int#
      parLocal# :: a -> Int# -> Int# -> Int# -> Int# -> b -> Int#
  • Added to GHC.Prim:

      getSizeofMutableByteArray# :: MutableByteArray# d -> State# d -> (# State# d, Int# #)
      subWordC# :: Word# -> Word# -> (# Word#, Int# #)
      runRW# :: (State# RealWorld -> (# State# RealWorld, o #)) -> (# State# RealWorld, o #)
  • Added to GHC.Types:

      data Module = Module TrName TrName
      data Nat
      data Symbol
      data TrName = TrNameS Addr# | TrNameD [Char]
      data TyCon = TyCon Word# Word# Module TrName
comments powered byDisqus