Open the imported Cabal file ↗
- author
- Johan Tibell
- bug-reports
- https://github.com/haskell-unordered-containers/unordered-containers/issues
- build-type
- Simple
- cabal-version
- >=1.10
- category
- Data
- copyright
- 2010-2014 Johan Tibell 2010 Edward Z. Yang
- extra-source-files
- CHANGES.md
- homepage
- https://github.com/haskell-unordered-containers/unordered-containers
- license
- BSD3
- license-file
- LICENSE
- maintainer
- simon.jakobi@gmail.com, David.Feuer@gmail.com
- name
- unordered-containers
- synopsis
- Efficient hashing-based container types
- tested-with
- GHC ==9.12.2 || ==9.10.2 || ==9.8.4 || ==9.6.7 || ==9.4.8 || ==9.2.8 || ==9.0.2 || ==8.10.7
- version
- 0.2.21
- x-revision
- 2
Show the complete metadata as JSON
{
"schemaVersion": 1,
"name": "unordered-containers",
"version": "0.2.21",
"cabalVersion": "1.10",
"buildType": "Simple",
"fields": {
"author": [
"Johan Tibell"
],
"bug-reports": [
"https://github.com/haskell-unordered-containers/unordered-containers/issues"
],
"build-type": [
"Simple"
],
"cabal-version": [
">=1.10"
],
"category": [
"Data"
],
"copyright": [
"2010-2014 Johan Tibell\n2010 Edward Z. Yang"
],
"description": [
"Efficient hashing-based container types. The containers have been\noptimized for performance critical use, both in terms of large data\nquantities and high speed.\n.\nThe declared cost of each operation is either worst-case or\namortized, but remains valid even if structures are shared.\n.\n/Security/\n.\nThis package currently provides no defenses against hash collision attacks\nsuch as HashDoS.\nUsers who need to store keys derived from untrusted input are advised to use\n@Data.Map@ or @Data.Set@ from the @containers@ package instead."
],
"extra-source-files": [
"CHANGES.md"
],
"homepage": [
"https://github.com/haskell-unordered-containers/unordered-containers"
],
"license": [
"BSD3"
],
"license-file": [
"LICENSE"
],
"maintainer": [
"simon.jakobi@gmail.com, David.Feuer@gmail.com"
],
"name": [
"unordered-containers"
],
"synopsis": [
"Efficient hashing-based container types"
],
"tested-with": [
"GHC ==9.12.2\n|| ==9.10.2\n|| ==9.8.4\n|| ==9.6.7\n|| ==9.4.8\n|| ==9.2.8\n|| ==9.0.2\n|| ==8.10.7"
],
"version": [
"0.2.21"
],
"x-revision": [
"2"
]
},
"components": [
{
"kind": "library",
"name": "main",
"tree": {
"data": {
"buildable": null,
"exposedModules": [
"Data.HashMap.Internal",
"Data.HashMap.Internal.Array",
"Data.HashMap.Internal.Debug",
"Data.HashMap.Internal.List",
"Data.HashMap.Internal.Strict",
"Data.HashMap.Lazy",
"Data.HashMap.Strict",
"Data.HashSet",
"Data.HashSet.Internal"
],
"otherModules": [],
"dependencies": [
{
"package": "base",
"range": ">=4.14 && <5",
"libraries": [
"main"
]
},
{
"package": "deepseq",
"range": ">=1.4.3",
"libraries": [
"main"
]
},
{
"package": "hashable",
"range": ">=1.4 && <1.6",
"libraries": [
"main"
]
}
],
"fields": {}
},
"branches": [
{
"condition": {
"compiler": "ghc",
"range": "-any"
},
"then": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [
{
"package": "template-haskell",
"range": ">=2.16 && <2.25",
"libraries": [
"main"
]
}
],
"fields": {}
},
"branches": []
},
"else": null
},
{
"condition": {
"flag": "debug"
},
"then": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [],
"fields": {}
},
"branches": []
},
"else": null
}
]
}
},
{
"kind": "test-suite",
"name": "unordered-containers-tests",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [
"Regressions",
"Properties",
"Properties.HashMapLazy",
"Properties.HashMapStrict",
"Properties.HashSet",
"Properties.List",
"Strictness",
"Util.Key"
],
"dependencies": [
{
"package": "base",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "ChasingBottoms",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "containers",
"range": ">=0.5.8",
"libraries": [
"main"
]
},
{
"package": "hashable",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "HUnit",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "QuickCheck",
"range": ">=2.4.0.1",
"libraries": [
"main"
]
},
{
"package": "nothunks",
"range": ">=0.1.3",
"libraries": [
"main"
]
},
{
"package": "random",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "tasty",
"range": ">=1.4.0.3",
"libraries": [
"main"
]
},
{
"package": "tasty-hunit",
"range": ">=0.10.0.3",
"libraries": [
"main"
]
},
{
"package": "tasty-quickcheck",
"range": ">=0.10.1.2",
"libraries": [
"main"
]
},
{
"package": "unordered-containers",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": []
}
},
{
"kind": "benchmark",
"name": "package-comparisons",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [
"Util.ByteString",
"Util.String",
"Util.Int"
],
"dependencies": [
{
"package": "base",
"range": ">=4.8.0",
"libraries": [
"main"
]
},
{
"package": "bytestring",
"range": ">=0.10.0.0",
"libraries": [
"main"
]
},
{
"package": "containers",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "hashable",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "hashmap",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "random",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "tasty-bench",
"range": ">=0.3.1",
"libraries": [
"main"
]
},
{
"package": "unordered-containers",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": []
}
},
{
"kind": "benchmark",
"name": "fine-grained",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [
"Key.Bytes"
],
"dependencies": [
{
"package": "base",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "bytestring",
"range": ">=0.11.3",
"libraries": [
"main"
]
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "hashable",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "random",
"range": ">=1.3.0",
"libraries": [
"main"
]
},
{
"package": "tasty-bench",
"range": ">=0.4.1",
"libraries": [
"main"
]
},
{
"package": "unordered-containers",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": []
}
}
],
"setupDependencies": [],
"flags": [
{
"name": "debug",
"default": false,
"manual": false,
"description": "Enable debug support"
}
],
"sourceRepositories": [
{
"kind": "head",
"fields": {
"location": [
"https://github.com/haskell-unordered-containers/unordered-containers.git"
],
"type": [
"git"
]
}
}
],
"warnings": [],
"sourceUrl": "https://hackage.haskell.org/package/unordered-containers-0.2.21/unordered-containers.cabal",
"sha256": "c5de1fb3377ed3c5f4cd851a771d1acc5c37d2f6bef0a499295c0e8857da5605",
"importedAt": "2026-10-14T12:51:26.435Z",
"dependencies": [
{
"package": "base",
"range": ">=4.14 && <5",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "deepseq",
"range": ">=1.4.3",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "hashable",
"range": ">=1.4 && <1.6",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "template-haskell",
"range": ">=2.16 && <2.25",
"libraries": [
"main"
],
"component": "library:main",
"conditions": [
{
"compiler": "ghc",
"range": "-any"
}
]
},
{
"package": "base",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "ChasingBottoms",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "containers",
"range": ">=0.5.8",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "hashable",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "HUnit",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "QuickCheck",
"range": ">=2.4.0.1",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "nothunks",
"range": ">=0.1.3",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "random",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "tasty",
"range": ">=1.4.0.3",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "tasty-hunit",
"range": ">=0.10.0.3",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "tasty-quickcheck",
"range": ">=0.10.1.2",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "unordered-containers",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:unordered-containers-tests",
"conditions": []
},
{
"package": "base",
"range": ">=4.8.0",
"libraries": [
"main"
],
"component": "benchmark:package-comparisons",
"conditions": []
},
{
"package": "bytestring",
"range": ">=0.10.0.0",
"libraries": [
"main"
],
"component": "benchmark:package-comparisons",
"conditions": []
},
{
"package": "containers",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:package-comparisons",
"conditions": []
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:package-comparisons",
"conditions": []
},
{
"package": "hashable",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:package-comparisons",
"conditions": []
},
{
"package": "hashmap",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:package-comparisons",
"conditions": []
},
{
"package": "random",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:package-comparisons",
"conditions": []
},
{
"package": "tasty-bench",
"range": ">=0.3.1",
"libraries": [
"main"
],
"component": "benchmark:package-comparisons",
"conditions": []
},
{
"package": "unordered-containers",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:package-comparisons",
"conditions": []
},
{
"package": "base",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:fine-grained",
"conditions": []
},
{
"package": "bytestring",
"range": ">=0.11.3",
"libraries": [
"main"
],
"component": "benchmark:fine-grained",
"conditions": []
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:fine-grained",
"conditions": []
},
{
"package": "hashable",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:fine-grained",
"conditions": []
},
{
"package": "random",
"range": ">=1.3.0",
"libraries": [
"main"
],
"component": "benchmark:fine-grained",
"conditions": []
},
{
"package": "tasty-bench",
"range": ">=0.4.1",
"libraries": [
"main"
],
"component": "benchmark:fine-grained",
"conditions": []
},
{
"package": "unordered-containers",
"range": "-any",
"libraries": [
"main"
],
"component": "benchmark:fine-grained",
"conditions": []
}
],
"exposedModules": [
"Data.HashMap.Internal",
"Data.HashMap.Internal.Array",
"Data.HashMap.Internal.Debug",
"Data.HashMap.Internal.List",
"Data.HashMap.Internal.Strict",
"Data.HashMap.Lazy",
"Data.HashMap.Strict",
"Data.HashSet",
"Data.HashSet.Internal"
],
"documents": {
"readme": {
"status": "missing",
"sha256": null,
"error": null,
"checkedAt": "2026-10-14T12:51:27.445Z"
},
"changelog": {
"status": "available",
"sha256": "9f4a40225ba743613d3fd7d2229133ed3e867297a73750dd18190cfd61675538",
"error": null,
"checkedAt": "2026-10-14T12:51:27.378Z"
}
},
"documentation": null,
"versions": [
{
"version": "0.2.21",
"imported_at": "2026-10-14T12:51:26.435Z"
}
]
}