ReadP package:cabal-install
This is a library of parser combinators, originally written by Koen
Claessen. It parses all alternatives in parallel, so it never keeps
hold of the beginning of the input string, a common source of space
leaks with other parsers. The
(+++) choice combinator is
genuinely commutative; it makes no difference which branch is
"shorter".
See also Koen's paper
Parallel Parsing Processes
(
http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.19.9217).
This version of ReadP has been locally hacked to make it H98, by
Martin Sjögren
mailto:msjogren@gmail.com
The unit tests have been moved to
UnitTest.Distribution.Deprecated.ReadP, by Mark Lentczner
mailto:mark@glyphic.com
Read all the config relevant for a project. This includes the project
file if any, plus other global config.
Reads a cabal.project.local file in the given project root
dir, or returns empty. This file gets written by cabal
configure, or in principle can be edited manually or by other
tools.
Reads a cabal.project.freeze file in the given project root
dir, or returns empty. This file gets written by cabal
freeze, or in principle can be edited manually or by other tools.
Read the package environment file.
Given a package target that has been fetched, read the .cabal file.
This only affects targets given by location, named targets are
unaffected.
Converts a parser into a Haskell ReadS-style function. This is the
main way in which you can "run" a
ReadP parser: the expanded
type is
readP_to_S :: ReadP a -> String -> [(a,String)]