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)]