{"@context":"https://w3id.org/codemeta/3.0","@type":"SoftwareSourceCode","identifier":"pkg:hackage/bitvec","name":"bitvec","description":"A newtype over Bool with a better Vector instance: 8x less memory, up to 3500x faster.\n\nThe vector\npackage represents unboxed arrays of Bools\nspending 1 byte (8 bits) per boolean.\nThis library provides a newtype wrapper Bit and a custom instance\nof an unboxed Vector, which packs bits densely,\nachieving an 8x smaller memory footprint.\nThe performance stays mostly the same;\nthe most significant degradation happens for random writes\n(up to 10% slower).\nOn the other hand, for certain bulk bit operations\nVector Bit is up to 3500x faster than Vector Bool.\n\nData.Bit is faster, but writes and flips are not thread-safe.\nThis is because naive updates are not atomic:\nthey read the whole word from memory,\nthen modify a bit, then write the whole word back.\nConcurrently modifying non-intersecting slices of the same underlying array\nmay also lead to unexpected results, since they can share a word in memory.\n\nData.Bit.ThreadSafe is slower (usually 10-20%),\nbut writes and flips are thread-safe.\nAdditionally, concurrently modifying non-intersecting slices of the same underlying array\nworks as expected. However, operations that affect multiple elements are not\nguaranteed to be atomic.\n\nbv and\nbv-little\ndo not offer mutable vectors.\n\narray\nis memory-efficient for Bool, but lacks\na handy Vector interface and is not thread-safe.","version":"1.1.6.0","softwareVersion":"1.1.6.0","license":"https://spdx.org/licenses/BSD-3-Clause","codeRepository":"https://github.com/Bodigrim/bitvec","issueTracker":"https://github.com/Bodigrim/bitvec/issues","url":"https://github.com/Bodigrim/bitvec","keywords":["bit-vectors","bsd3","data","library","public-domain","Propose Tags"],"programmingLanguage":{"@type":"ComputerLanguage","name":"Haskell"},"maintainer":[{"@type":"Person","name":"Bodigrim"},{"@type":"Person","name":"JamesCook"}],"author":[{"@type":"Person","name":"Bodigrim"},{"@type":"Person","name":"JamesCook"}],"copyrightHolder":[{"@type":"Person","name":"Bodigrim"},{"@type":"Person","name":"JamesCook"}],"dateCreated":"2012-03-22","dateModified":"2026-02-18","datePublished":"2026-02-18","copyrightYear":2012,"downloadUrl":"https://hackage.haskell.org/package/bitvec-1.1.6.0/bitvec-1.1.6.0.tar.gz","applicationCategory":"hackage","runtimePlatform":"hackage","developmentStatus":"active","sameAs":["https://hackage.haskell.org/package/bitvec"],"https://www.w3.org/ns/activitystreams#likes":72,"https://forgefed.org/ns#forks":7}