reads package:cabal-install

A parser for a type a, represented as a function that takes a String and returns a list of possible parses as (a,String) pairs. Note that this kind of backtracking parser is very inefficient; reading a large structure may be quite slow (cf ReadP).
Converts a Haskell ReadS-style function into a parser. Warning: This introduces local backtracking in the resulting parser, and therefore a possible inefficiency.
Read the .cabal files for a set of packages. For remote tarballs and VCS source repos this also fetches them if needed. Note here is where we convert from project-root relative paths to absolute paths.