Open the imported Cabal file ↗
- author
- Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>
- bug-reports
- https://github.com/haskell/parsec/issues
- build-type
- Simple
- cabal-version
- 1.12
- category
- Parsing
- extra-source-files
- ChangeLog.md README.md
- homepage
- https://github.com/haskell/parsec
- license
- BSD2
- license-file
- LICENSE
- maintainer
- Oleg Grenrus <oleg.grenrus@iki.fi>, Herbert Valerio Riedel <hvr@gnu.org>
- name
- parsec
- synopsis
- Monadic parser combinators
- tested-with
- GHC ==8.6.5 || ==8.8.4 || ==8.10.7 || ==9.0.2 || ==9.2.8 || ==9.4.8 || ==9.6.7 || ==9.8.4 || ==9.10.3 || ==9.12.4 || ==9.14.1
- version
- 3.1.18.0
- x-revision
- 1
Show the complete metadata as JSON
{
"schemaVersion": 1,
"name": "parsec",
"version": "3.1.18.0",
"cabalVersion": "1.12",
"buildType": "Simple",
"fields": {
"author": [
"Daan Leijen <daan@microsoft.com>, Paolo Martini <paolo@nemail.it>, Antoine Latter <aslatter@gmail.com>"
],
"bug-reports": [
"https://github.com/haskell/parsec/issues"
],
"build-type": [
"Simple"
],
"cabal-version": [
"1.12"
],
"category": [
"Parsing"
],
"description": [
"Parsec is designed from scratch as an industrial-strength parser\nlibrary. It is simple, safe, well documented (on the package\nhomepage), has extensive libraries, good error messages,\nand is fast. It is defined as a monad transformer that can be\nstacked on arbitrary monads, and it is also parametric in the\ninput stream type.\n.\nThe main entry point is the \"Text.Parsec\" module which provides\ndefaults for parsing 'Char'acter data.\n.\nThe \"Text.ParserCombinators.Parsec\" module hierarchy contains\nthe legacy @parsec-2@ API and may be removed at some point in\nthe future."
],
"extra-source-files": [
"ChangeLog.md\nREADME.md"
],
"homepage": [
"https://github.com/haskell/parsec"
],
"license": [
"BSD2"
],
"license-file": [
"LICENSE"
],
"maintainer": [
"Oleg Grenrus <oleg.grenrus@iki.fi>, Herbert Valerio Riedel <hvr@gnu.org>"
],
"name": [
"parsec"
],
"synopsis": [
"Monadic parser combinators"
],
"tested-with": [
"GHC ==8.6.5\n|| ==8.8.4\n|| ==8.10.7\n|| ==9.0.2\n|| ==9.2.8\n|| ==9.4.8\n|| ==9.6.7\n|| ==9.8.4\n|| ==9.10.3\n|| ==9.12.4\n|| ==9.14.1"
],
"version": [
"3.1.18.0"
],
"x-revision": [
"1"
]
},
"components": [
{
"kind": "library",
"name": "main",
"tree": {
"data": {
"buildable": null,
"exposedModules": [
"Text.Parsec",
"Text.Parsec.ByteString",
"Text.Parsec.ByteString.Lazy",
"Text.Parsec.Char",
"Text.Parsec.Combinator",
"Text.Parsec.Error",
"Text.Parsec.Expr",
"Text.Parsec.Language",
"Text.Parsec.Perm",
"Text.Parsec.Pos",
"Text.Parsec.Prim",
"Text.Parsec.String",
"Text.Parsec.Text",
"Text.Parsec.Text.Lazy",
"Text.Parsec.Token",
"Text.ParserCombinators.Parsec",
"Text.ParserCombinators.Parsec.Char",
"Text.ParserCombinators.Parsec.Combinator",
"Text.ParserCombinators.Parsec.Error",
"Text.ParserCombinators.Parsec.Expr",
"Text.ParserCombinators.Parsec.Language",
"Text.ParserCombinators.Parsec.Perm",
"Text.ParserCombinators.Parsec.Pos",
"Text.ParserCombinators.Parsec.Prim",
"Text.ParserCombinators.Parsec.Token"
],
"otherModules": [],
"dependencies": [
{
"package": "base",
"range": ">=4.12.0.0 && <4.23",
"libraries": [
"main"
]
},
{
"package": "bytestring",
"range": ">=0.10.8.2 && <0.13",
"libraries": [
"main"
]
},
{
"package": "mtl",
"range": ">=2.2.2 && <2.4",
"libraries": [
"main"
]
},
{
"package": "text",
"range": ">=1.2.3.0 && <1.3 || >=2.0 && <2.2",
"libraries": [
"main"
]
}
],
"fields": {}
},
"branches": [
{
"condition": {
"compiler": "ghc",
"range": "<8.8"
},
"then": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [],
"fields": {}
},
"branches": []
},
"else": null
}
]
}
},
{
"kind": "test-suite",
"name": "parsec-tests",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [
"Bugs",
"Bugs.Bug2",
"Bugs.Bug35",
"Bugs.Bug6",
"Bugs.Bug9",
"Features",
"Features.Feature150",
"Features.Feature80",
"Util"
],
"dependencies": [
{
"package": "base",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "mtl",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "parsec",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "tasty",
"range": ">=1.4 && <1.6",
"libraries": [
"main"
]
},
{
"package": "tasty-hunit",
"range": ">=0.10 && <0.11",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": [
{
"condition": {
"compiler": "ghc",
"range": ">=8.0"
},
"then": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [],
"fields": {}
},
"branches": []
},
"else": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [
{
"package": "semigroups",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {}
},
"branches": []
}
}
]
}
},
{
"kind": "test-suite",
"name": "parsec-issue127",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [
{
"package": "base",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "parsec",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": []
}
},
{
"kind": "test-suite",
"name": "parsec-issue171",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [
{
"package": "base",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "parsec",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "tasty",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "tasty-hunit",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": []
}
},
{
"kind": "test-suite",
"name": "parsec-issue175",
"tree": {
"data": {
"buildable": null,
"exposedModules": [],
"otherModules": [],
"dependencies": [
{
"package": "base",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "parsec",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "tasty",
"range": "-any",
"libraries": [
"main"
]
},
{
"package": "tasty-hunit",
"range": "-any",
"libraries": [
"main"
]
}
],
"fields": {
"type": [
"exitcode-stdio-1.0"
]
}
},
"branches": []
}
}
],
"setupDependencies": [],
"flags": [],
"sourceRepositories": [
{
"kind": "head",
"fields": {
"location": [
"https://github.com/haskell/parsec"
],
"type": [
"git"
]
}
}
],
"warnings": [],
"sourceUrl": "https://hackage.haskell.org/package/parsec-3.1.18.0/parsec.cabal",
"sha256": "28a0cb964cf4c14ac271982fa815bee21cb4ff39e8f2b97efe035e63ad6857aa",
"importedAt": "2026-10-14T12:46:52.493Z",
"dependencies": [
{
"package": "base",
"range": ">=4.12.0.0 && <4.23",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "bytestring",
"range": ">=0.10.8.2 && <0.13",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "mtl",
"range": ">=2.2.2 && <2.4",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "text",
"range": ">=1.2.3.0 && <1.3 || >=2.0 && <2.2",
"libraries": [
"main"
],
"component": "library:main",
"conditions": []
},
{
"package": "base",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-tests",
"conditions": []
},
{
"package": "mtl",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-tests",
"conditions": []
},
{
"package": "parsec",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-tests",
"conditions": []
},
{
"package": "tasty",
"range": ">=1.4 && <1.6",
"libraries": [
"main"
],
"component": "test-suite:parsec-tests",
"conditions": []
},
{
"package": "tasty-hunit",
"range": ">=0.10 && <0.11",
"libraries": [
"main"
],
"component": "test-suite:parsec-tests",
"conditions": []
},
{
"package": "semigroups",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-tests",
"conditions": [
{
"not": {
"compiler": "ghc",
"range": ">=8.0"
}
}
]
},
{
"package": "base",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue127",
"conditions": []
},
{
"package": "parsec",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue127",
"conditions": []
},
{
"package": "base",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue171",
"conditions": []
},
{
"package": "deepseq",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue171",
"conditions": []
},
{
"package": "parsec",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue171",
"conditions": []
},
{
"package": "tasty",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue171",
"conditions": []
},
{
"package": "tasty-hunit",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue171",
"conditions": []
},
{
"package": "base",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue175",
"conditions": []
},
{
"package": "parsec",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue175",
"conditions": []
},
{
"package": "tasty",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue175",
"conditions": []
},
{
"package": "tasty-hunit",
"range": "-any",
"libraries": [
"main"
],
"component": "test-suite:parsec-issue175",
"conditions": []
}
],
"exposedModules": [
"Text.Parsec",
"Text.Parsec.ByteString",
"Text.Parsec.ByteString.Lazy",
"Text.Parsec.Char",
"Text.Parsec.Combinator",
"Text.Parsec.Error",
"Text.Parsec.Expr",
"Text.Parsec.Language",
"Text.Parsec.Perm",
"Text.Parsec.Pos",
"Text.Parsec.Prim",
"Text.Parsec.String",
"Text.Parsec.Text",
"Text.Parsec.Text.Lazy",
"Text.Parsec.Token",
"Text.ParserCombinators.Parsec",
"Text.ParserCombinators.Parsec.Char",
"Text.ParserCombinators.Parsec.Combinator",
"Text.ParserCombinators.Parsec.Error",
"Text.ParserCombinators.Parsec.Expr",
"Text.ParserCombinators.Parsec.Language",
"Text.ParserCombinators.Parsec.Perm",
"Text.ParserCombinators.Parsec.Pos",
"Text.ParserCombinators.Parsec.Prim",
"Text.ParserCombinators.Parsec.Token"
],
"documents": {
"readme": {
"status": "available",
"sha256": "3c3f8945cd5f7ccee52cc049dc0dc5c8d141336430324a8ae2c60b63452f96c0",
"error": null,
"checkedAt": "2026-10-14T12:46:53.361Z"
},
"changelog": {
"status": "available",
"sha256": "4d29b3d2d3a94dfc2a069eb6160f446423f4cbb8c5430dfccdffe5d204508bee",
"error": null,
"checkedAt": "2026-10-14T12:46:53.296Z"
}
},
"documentation": null,
"versions": [
{
"version": "3.1.18.0",
"imported_at": "2026-10-14T12:46:52.493Z"
}
]
}