Mutable and immutable arrays

Version on this page:
LTS Haskell 8.5:
Stackage Nightly 2017-03-20:
Latest on Hackage:
BSD3 licensed
Maintained by

Module documentation for

There are no documented modules for this package.

In addition to providing the Data.Array module as specified in the Haskell 2010 Language Report, this package also defines the classes IArray of immutable arrays and MArray of arrays mutable within appropriate monads, as well as some instances of these classes.


Changelog for array package Apr 2016

  • Bundled with GHC 8.0.1
  • Use @since syntax in Haddock comments
  • Don't needlessly call bounds in Data.Array.Base.elems (#10014) Mar 2015

  • Bundled with GHC 7.10.1
  • Add role annotations for GHC >= 7.8 (#9220) Nov 2013

  • Update to Cabal 1.10 format
  • Remove NHC and Hugs specific code
  • Remove deprecated function exports Data.Array.IO.castIOUArray, Data.Array.MArray.unsafeFreeze, Data.Array.MArray.unsafeThaw, and Data.Array.ST.castSTUArray; These functions are still available from the Data.Array.Unsafe module. Sep 2012

  • Bundled with GHC 7.6.1
  • Fix inline rule shadowing warnings Feb 2012

  • Bundled with GHC 7.4.1
  • Add support for SafeHaskell
  • New Data.Array.IO.Safe module
  • New module
  • New module
  • New Data.Array.Storable.Internals module
  • New Data.Array.Storable.Safe module
  • New Data.Array.Unsafe module
Depends on:
Used by 921 packages:
AC-EasyRaster-GTK, Agda, AhoCorasick, Attrac, AutoForms, BNFC, BNFC-meta, Barracuda, Befunge93, BigPixel, Biobase, BiobaseBlast, BoundedChan, CCA, CMCompare, CPL, CSPM-Frontend, CSPM-Interpreter, CSPM-ToProlog, CV, Cabal, Cabal-ide-backend, Chart, Chart-cairo, Chart-gtk, Chart-simple, Coadjute, Codec-Image-DevIL, Combinatorrent, ConcurrentUtils, Control-Monad-MultiPass, Control-Monad-ST2, Crypto, CurryDB, DP, DPM, Dao, Diff, DnaProteinAlignment, DrHylo, DynamicTimeWarp, Ebnf2ps, EdisonCore, EditTimeReport, Emping, Eq, EtaMOO, Etage-Graph, Euterpea, FComp, FM-SBLEX, ForSyDe, Foster, GHood, GLUT, GLUtil, GPipe-Collada, Gamgine, GeBoP, GlomeTrace, GlomeVec, GoogleCodeJam, Graph500, GraphHammer, GraphHammer-examples, GraphSCC, Graphalyze, Grempa, Grow, Gtk2hsGenerics, HARM, HAppS-Util, HCodecs, HDRUtils, HGL, HLearn-distributions, HList, HODE, HPDF, HRay, HSFFIG, HStringTemplate, HTF, HTTP, HTicTacToe, HXQ, HarmTrace, Haschoo, HaskellForMaths, HaskellNet, Hieroglyph, Hipmunk, Hoed, Holumbus-Distribution, Hs2lib, HsASA, Hsed, IFS, IcoGrid, Imlib, JYU-Utils, KMP, LambdaHack, Lattices, LinearSplit, ListLike, LslPlus, Lykah, MagicHaskeller, MazesOfMonad, MiniAgda, MissingH, Monadius, Monaris, Munkres, Munkres-simple, NewBinary, NoSlow, Noise, NumberSieves, OpenAFP, Operads, PageIO, Paraiso, PerfectHash, PlslTools, Pollutocracy, Pugs, RJson, RNAdesign, RNAdraw, Random123, Rasenschach, Rlang-QQ, SFont, SHA, STMonadTrans, SableCC2Hs, SpaceInvaders, TYB, TeaHS, Twofish, UISF, Vec, ViennaRNA-bindings, Webrexp, WordNet, WordNet-ghc74, YFrob, YampaSynth, ZMachine, abc-puzzle, abstract-deque, abstract-deque-tests, abstract-par-accelerate, accelerate, accelerate-cuda, accelerate-examples, accelerate-io, acid-state, activehs, ad, adict, adjunctions, adp-multi, aeson-bson, air, air-extra, aivika, aivika-experiment-chart, aivika-transformers, ajhc, alex, alex-meta, algebra, alms, alpha, alsa, alsa-midi, alsa-pcm, alsa-seq, annah, ansi-pretty, apelsin, api-tools, arbtt, arith-encode, arithmoi, array-forth, array-memoize, array-utils, arrowp, asil, aterm, atomo, attoparsec, attoparsec-text, atuin, babylon, battleships, beautifHOL, bed-and-breakfast, berp, bibdb, binary, binary-ext, binary-ieee754, binary-indexed-tree, binary-strict, binary-tagged, bindings-bfd, bindings-eskit, bio, biosff, bitarray, bitcoin-hs, bitmaps, bitwise, bktrees, bloomfilter, board-games, bond-haskell, brain-bleep, brainfuck, brainfuck-tut, brians-brain, btree-concurrent, buchhaltung, bytestring-csv, bytestring-show, c2hs, cabal-install, cabal-install-bundle, cabal-install-ghc72, cabal-install-ghc74, cairo, cake, cake3, calc, camfort, cao, cap, carray, cassava, cassava-conduit, cereal, cereal-ieee754, cereal-plus, cgrep, chalkboard, chalkboard-viewer, chalmers-lava2000, charset, chaselev-deque, chatter, checkers, chesshs, ciphersaber2, clafer, claferIG, clash-ghc, clash-prelude, clutterhs, cmathml3, cmonad, cmph, cmu, cnc-spec-compiler, cndict, codec-libevent, cognimeta-utils, collections, collections-api, collections-base-instances, combinat, combinat-diagrams, combinatorial-problems, comonad-extras, compact-map, concraft, concurrency, concurrent-dns-cache, condorcet, conductive-base, config-value, congruence-relation, conjure, containers, context-free-grammar, copilot-language, copilot-libraries, core-compiler, crc16-table, creatur, crf-chain1, crf-chain1-constrained, crf-chain2-generic, crf-chain2-tiers, critbit, cryptol, csound-expression-dynamic, csv-conduit, ctkl, ctpl, cubical, cudd, dao, darcs, darcs-beta, darcs-cabalized, darkplaces-text, data-accessor, data-dispersal, data-hash, data-memocombinators, data-structure-inferrer, dataenc, ddc-core, ddc-core-eval, ddc-core-flow, ddc-core-llvm, ddc-core-salt, ddc-core-simpl, ddc-core-tetra, ddc-source-tetra, deepseq, deepseq-bounded, definitive-base, definitive-filesystem, definitive-graphics, definitive-parser, definitive-reactive, definitive-sound, deiko-config, derive-trie, diagrams-cairo, diagrams-lib, diagrams-qrcode, diffarray, digest-pure, diophantine, disassembler, discrimination, disjoint-sets-st, distribution, djinn, dom-lt, dow, dph-base, dph-lifted-base, dph-lifted-copy, dph-lifted-vseg, dsp, dtab, edentv, edit-distance, egison, egison-tutorial, elsa, email, encoding, enumerate, epic, ersatz, ersatz-toysat, ethereum-client-haskell, eventstore, ewe, explore, exposed-containers, extcore, factory, fast-logger, fast-tags, fcd, feldspar-language, fft, fgl, fields, fixed-storable-array, fixfile, flite, floatshow, flower, flowsim, fortran-src, fpnla-examples, frag, free-game, free-theorems-seq, freekick2, freesect, frisby, fst, full-text-search, funsat, game-of-life, gdiff-ig, gemstone, generic-enum, geni-gui, genvalidity-text, geo-uk, geodetics, geohash, gf, ghc-events, ghc-events-parallel, ghc-parmake, ghc-srcspan-plugin, ghci, ghci-haskeline, ghci-ng, ginsu, gio, gll, glome-hs, glpk-hs, gmap, gmndl, gnomevfs, gnuplot, gochan, graph-serialize, graph-wrapper, graphs, greencard, greencard-lib, gridland, gstreamer, gtk, gtk-helpers, gtk-mac-integration, gtk-serialized-event, gtk2hs-buildtools, gtk3, gtk3-mac-integration, gtkimageview, gtksourceview2, gtksourceview3, hLLVM, hR, hVOIDP, hackage-server, hackport, haddock-api, haddock-leksah, hakaru, halfs, hamtmap, handa-opengl, hans, happindicator, happstack-util, happy, happy-meta, hardware-edsl, harmony, harpy, hascar, hashabler, hashing, haskell-cnc, haskell-modbus, haskell-mpi, haskell-platform-test, haskell-src, haskell-src-exts, haskell-tor, haskell-xmpp, haskell2010, haskell98, haskell98libraries, haskellscrabble, haskore, haskore-supercollider, haste-compiler, hax, haxr, hbayes, hburg, hchesslib, hdirect, hdph-closure, heapsort, helf, hemkay, hemkay-core, hermit, hetris, hfractal, hgal, hgalib, hgl-example, hichi, hierarchical-clustering, hills, hinterface, hjs, hlcm, hledger-lib, hmatrix, hmatrix-gsl, hmatrix-static, hmeap, hmeap-utils, hmm, hmm-hmatrix, hmp3, hmt, hogg, hommage, hommage-ds, hood, hood2, hoodie, hoodle-core, hopenpgp-tools, hopfield, hoq, hothasktags, hp2any-manager, hp2pretty, hpc-tracer, hprotoc, hprotoc-fork, hpuz, hpylos, hs-cdb, hs-java, hs-pgms, hs-re, hs2bf, hsXenCtrl, hsc3-graphs, hsc3-lang, hsc3-sf-hsndfile, hscamwire, hsdev, hsignal, hsmtpclient, hsntp, hspec-core, hspresent, hstatistics, hstzaar, http-client, http-date, http-types, http2, hub, hubris, huff, hurdle, husk-scheme, husk-scheme-libs, hw-conduit, hw-json, hw-json-lens, hw-xml, hws, hydrogen-prelude, hylolib, ide-backend-server, idris, ige-mac-integration, illuminate, imperative-edsl, inf-interval, instrument-chord, integer-logarithms, intern, intero, intervals, intricacy, invariant, iterIO, ivory, ix-shapable, jack, jarfind, java-adt, jort, json, jukebox, jvm-parser, kan-extensions, kangaroo, keter, keys, keyvaluehash, knots, lambdabot-haskell-plugins, lambdacube-engine, language-c, language-c-comments, language-c-inline, language-c-quote, language-eiffel, language-fortran, language-go, language-java, language-java-classfile, language-javascript, language-lua, language-objc, language-python, language-spelling, language-sqlite, launchpad-control, lazyarray, lbfgs, lcs, leksah, lens, lens-prelude, lens-regex, lgtk, lhae, libcspm, libgraph, life, lifter, lighttpd-conf, lighttpd-conf-qq, lio-eci11, liquid-fixpoint, liquidhaskell, llvm-analysis, llvm-data-interop, llvm-general, llvm-general-quote, llvm-hs, llvm-pretty-bc-parser, lmdb, logfloat, logic-TPTP, lostcities, lua-bytecode, lvmlib, mage, manatee-core, manatee-ircclient, mandulia, mars, mathlink, matlab, matrix-market-pure, maxent-learner-hw, mediabus, mediabus-rtp, mediawiki2latex, meta-par-accelerate, microlens-ghc, mighttpd2, minecraft-data, minilens, mixed-strategies, monad-memo, monad-par, monadic-arrays, mongoDB, monoids, moo, morfette, morte, mps, mrifk, multifocal, myTestlll, nbt, nc-indicators, nehe-tuts, nettle-openflow, netwire-vinylglfw-examples, network-house, network-rpca, neural, newt, nofib-analyse, nofib-analyze, nptools, ntha, numeric-prelude, numeric-quest, obdd, oberon0, obj, octopus, omega, pack, packedstring, packman, palette, palindromes, pandoc, pango, paragon, parallel, parconc-examples, parport, parse-dimacs, parsestar, passage, patch-image, pathfindingcore, pcre-less, pcre-utils, pec, perdure, perfecthash, persistable-record, persistent-equivalence, pgm, phasechange, phonetic-code, phooey, pi-forall, picoparsec, piet, pinch, pisigma, plot, plugins, png-file, pngload, pngload-fixed, pointfree, poker-eval, polyseq, poppler, postgresql-typed, pregame, pretty-show, processor-creative-kit, protocol-buffers, protocol-buffers-fork, pugs-compat, pugs-hsregex, punkt, pure-zlib, pvd, qrcode, qudb, queuelike, quickcheck-instances, quickspec, rad, rand-vars, random-access-list, random-extras, raw-feldspar, reactivity, reactor, redHandlers, reducers, references, regex, regex-base, regex-compat, regex-compat-tdfa, regex-do, regex-easy, regex-examples, regex-pcre, regex-pcre-builtin, regex-posix, regex-posix-unittest, regex-tdfa, regex-tdfa-pipes, regex-tdfa-rc, regex-tdfa-text, regex-tdfa-unittest, regex-tdfa-utf8, regexchar, reinterpret-cast, relacion, relation, relational-query, remote-debugger, representable-functors, reversi, riak-protobuf, risc386, roguestar-engine, rounding, rsagl, rsagl-frp, rsagl-math, rtcm, ruff, ruler-core, safecopy, safecopy-store, satchmo, satchmo-backends, satchmo-examples, satchmo-funsat, satchmo-toysat, sbp, sbv, scan-vector-machine, scenegraph, scrabble-bot, scyther-proof, sdr, selectors, seqaid, sequor, setdown, sexp-grammar, shuffle, sigma-ij, simple-effects, simple-stacked-vm, simplesmtpclient, sindre, sized-types, smt-lib, smtp-mail, snappy-framing, sonic-visualiser, sound-collage, sprinkles, sstable, static-hash, stb-truetype, stm, stm-io-hooks, storable-static-array, store, streaming-commons, strict, stringsearch, structured-mongoDB, subhask, suffix-array, supercollider-midi, svm, swift-lda, syb-with-class, sync-mht, synthesizer, synthesizer-core, synthesizer-midi, system-gpio, tamarin-prover, tamarin-prover-theory, tar, tateti-tateti, tbox, tempus, term-rewriting, text, text-format, text-show, textPlot, threadscope, threefish, tiger, timberc, time-series, time-warp, tip-lib, tofromxml, toolshed, topkata, toysolver, triangulation, trifecta, tskiplist, twee, twisty, type-structure, typed-streams, uAgda, uhc-light, uhc-util, uni-util, unicode-names, unicode-properties, union-find-array, unlambda, unm-hip, unscramble, uuagc, uuagc-bootstrap, vacuum, vcache-trie, verilog, vintage-basic, vision, vty-examples, vty-ui, wai-app-file-cgi, wai-devel, warp, wedged, weighted-regexp, why3, wordexp, wordsearch, wrecker, wxcore, x-dsp, xeno, xilinx-lava, xml2x, xsact, yesod-dsl, yi-core, yi-language, yi-misc-modes, yi-mode-haskell, yi-mode-javascript, yxdb-utils, zcache, zeno, zim-parser, zip-archive, ztail
comments powered byDisqus