Cabal-2.0.0.2: A framework for packaging Haskell software

CopyrightIsaac Jones 2003-2005
LicenseBSD3
Maintainercabal-devel@haskell.org
Portabilityportable
Safe HaskellNone
LanguageHaskell2010

Distribution.PackageDescription.Parse

Contents

Description

This defined parsers and partial pretty printers for the .cabal format. Some of the complexity in this module is due to the fact that we have to be backwards compatible with old .cabal files, so there's code to translate into the newer structure.

Synopsis

Package descriptions

parseGenericPackageDescription :: String -> ParseResult GenericPackageDescription #

Parses the given file into a GenericPackageDescription.

In Cabal 1.2 the syntax for package descriptions was changed to a format with sections and possibly indented property descriptions.

Deprecated names

readPackageDescription :: Verbosity -> FilePath -> IO GenericPackageDescription #

Deprecated: Use readGenericPackageDescription, old name is misleading.

parsePackageDescription :: String -> ParseResult GenericPackageDescription #

Deprecated: Use parseGenericPackageDescription, old name is misleading

Parsing

data FieldDescr a #

Field descriptor. The parameter a parameterizes over where the field's value is stored in.

Constructors

FieldDescr 

Fields

type LineNo = Int #

Private, but needed for pretty-printer

data TestSuiteStanza #

An intermediate type just used for parsing the test-suite stanza. After validation it is converted into the proper TestSuite type.

data BenchmarkStanza #

An intermediate type just used for parsing the benchmark stanza. After validation it is converted into the proper Benchmark type.

Supplementary build information