This package provides various primitive memory-related operations.


Changes in version

  • Drop support for GHCs before 7.4

  • SmallArray support

  • ArrayArray# based support for more efficient arrays of unlifted pointer types

  • Make Array and the like instances of various classes for convenient use

  • Add Prim instances for Ptr and FunPtr

  • Add ioToPrim, stToPrim and unsafe counterparts for situations that would otherwise require type ascriptions on primToPrim

  • Add evalPrim

  • Add PrimBase instance for IdentityT

Changes in version

  • Use more appropriate types in internal memset functions, which prevents overflows/segfaults on 64-bit systems.

  • Fixed a warning on GHC 7.10

  • Worked around a -dcore-lint bug in GHC 7.6/7.7

Changes in version 0.6

  • Split PrimMonad into two classes to allow automatic lifting of primitive operations into monad transformers. The internal operation has moved to the PrimBase class.

  • Fixed the test suite on older GHCs

Changes in version

  • Changed primitive_ to work around an oddity with GHC's code generation on certain versions that led to side effects not happening when used in conjunction with certain very unsafe IO performers.

  • Allow primitive to build on GHC 7.9

Changes in version

  • Implement cloneArray and cloneMutableArray primitives (with fall-back implementations for GHCs prior to version 7.2.1)

Changes in version

  • Add strict variants of MutVar modification functions atomicModifyMutVar' and modifyMutVar'

  • Fix compilation on Solaris 10 with GNU C 3.4.3

Changes in version

  • Add support for GHC 7.7's new primitive Bool representation

Changes in version

  • Disable array copying primitives for GHC 7.6.* and earlier

Changes in version 0.5

  • New in Data.Primitive.MutVar: atomicModifyMutVar

  • Efficient block fill operations: setByteArray, setAddr

Changes in version 0.4.1

  • New module Data.Primitive.MutVar

Changes in version

  • Critical bug fix in fillByteArray

Changes in version 0.4

  • Support for GHC 7.2 array copying primitives

  • New in Data.Primitive.ByteArray: copyByteArray, copyMutableByteArray, moveByteArray, fillByteArray

  • Deprecated in Data.Primitive.ByteArray: memcpyByteArray, memcpyByteArray', memmoveByteArray, memsetByteArray

  • New in Data.Primitive.Array: copyArray, copyMutableByteArray

  • New in Data.Primitive.Addr: copyAddr, moveAddr

  • Deprecated in Data.Primitive.Addr: memcpyAddr

Used by 218 packages:
ADPfusion, ADPfusionSet, affine-invariant-ensemble-mcmc, algo-s, apiary, arb-fft, atomic-primops, atomic-primops-vector, bimaps, Biobase, BiobaseInfernal, BiobaseTurner, BiobaseTypes, BiobaseVienna, BiobaseXNA, biohazard, bioinformatics-toolkit, BitStringRandomMonad, bitvec, blockhash, btree, buffon, bytearray-parsing, cborg, chart-unit, chronos, classy-prelude, clustering, c-mosquitto, cognimeta-utils, compact-mutable, conduit, conduit-combinators, conduit-extra, country, cplex-hs, csv-conduit, ctrie, CV, declarative, definitive-base, definitive-filesystem, definitive-graphics, definitive-parser, definitive-reactive, definitive-sound, dense, derive-topdown, DifferentialEvolution, discrimination, disjoint-set-stateful, DistanceTransform, dph-prim-seq, dsmc, dynamic-mvector, eigen, extensible, fixed-vector, fixed-vector-hetero, flat, flat-mcmc, foldl, forbidden-fruit, FractalArt, Frames, friday, ghcjs-base-stub, gochan, grasp, grenade, Grow, hakaru, hashabler, hashtables, haskell-igraph, hasty-hamiltonian, hblas, hdr-histogram, hedgehog, hetero-dict, hip, histogram-fill, HLearn-classification, hmep, hybrid-vectors, impure-containers, inline-r, io-streams, ip, irc-core, jsaddle, JuicyPixels, kazura-queue, kickchan, lmdb-high-level, lookup-tables, loops, math-functions, matrices, matrix, mcl, mcmc-samplers, mediabus, mediabus-rtp, metrics, microgroove, mighty-metropolis, MonadCatchIO-mtl-foreign, MonadCatchIO-transformers-foreign, monad-memo, monad-primitive, MonadRandom, monad-ste, monte-carlo, mutable-containers, mwc-probability, mwc-random, mwc-random-monad, niagra, nonlinear-optimization, nonlinear-optimization-ad, numeric-ode, numeric-tools, Nussinov78, opencv, opencv-extra, OrderedBits, packman, passage, pcg-random, perdure, phasechange, pipes-vector, prim-array, PrimitiveArray, primitive-simd, prim-uniq, probable, promises, quickcheck-classes, rangemin, Rasterific, rasterific-svg, rcu, reedsolomon, reflex, reflex-sdl2, repa-array, repa-convert, repa-flow, repa-scalar, repa-stream, ring-buffer, RNAdesign, RNAFold, RNAFoldProgs, sampling, savage, scientific, sdr, serialise, sfmt, sgd, shake, simd, simple-conduit, sparse, sparse-linear-algebra, special-keys, speedy-slice, state-bag, statistics, statistics-hypergeometric-genvar, stm-containers, store, store-core, structs, structures, stt, subhask, SuffixStructures, swift-lda, system-random-effect, teleshell, tf-random, th-utilities, tinyXml, toysolver, traildb, TrieMap, ttrie, twee, twentyseven, typeparams, uhc-light, unagi-bloomfilter, unagi-chan, unboxed-ref, uncertain, unjson, unordered-intmap, unpack-funcs, vector, vector-algorithms, vector-bytestring, vector-conduit, vector-fftw, vector-functorlazy, vector-mmap, vector-static, vinyl-vectors, web-routing, webrtc-vad, WordAlignment, yarr, yesod-core, yxdb-utils, zip-stream
comments powered byDisqus