BSD-3-Clause licensed
This version can be pinned in stack with:ghc-prim-0.5.3@sha256:2284e90b0d56dfd389588b5c927e7f22c17f1d6c2291464cb0cc3f9651b0ba23,2319
Module documentation for 0.5.3
Used by 118 packages in
lts-13.11(full list with versions):
aeson,
approximate,
arithmoi,
atomic-primops,
base,
base16-bytestring,
basement,
base-orphans,
bits-extra,
bit-stream,
blaze-textual,
bower-json,
bv,
bytestring,
cborg,
cereal,
chaselev-deque,
classy-prelude,
concurrent-supply,
constraints,
containers,
country,
cryptohash,
cryptonite,
data-bword,
data-diverse,
data-dword,
debug,
deepseq-generics,
deriving-compat,
double-conversion,
ed25519,
ekg-core,
exp-pairs,
formatting,
foundation,
generic-deriving,
GenericPretty,
generics-sop,
ghc-compact,
and many more This package contains the primitive types and operations supplied by GHC.
0.5.3 August 2018
-
Shipped with GHC 8.6.1
-
Added to GHC.Prim
:
addWordC# :: Word# -> Word# -> (# Word#, Int# #)
-
unpackClosure#
can now unpack any valid Haskell closure.
Previously it returned empty pointer and non-pointer arrays
for thunks.
0.5.2.0 March 2018
0.5.1.1 November 2017
0.5.1.0 July 2017
-
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