ghc-prim

GHC primitives

Version on this page:0.5.0.0
LTS Haskell 22.13:0.10.0
Stackage Nightly 2024-03-14:0.11.0
Latest on Hackage:0.11.0

See all snapshots ghc-prim appears in

BSD-3-Clause licensed
Maintained by [email protected]
This version can be pinned in stack with:ghc-prim-0.5.0.0@sha256:2012b3ee88628a3adb8be2eb29c19163e45b42d7cb4961263c43610b50fff8ef,2425

Module documentation for 0.5.0.0

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

Changes

0.5.0.0

  • 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