Advance notice that I'd like to make Cabal depend on parsec
Duncan Coutts
duncan.coutts at googlemail.com
Mon Mar 18 14:14:41 CET 2013
On Mon, 2013-03-18 at 12:43 +0000, Ian Lynagh wrote:
> On Mon, Mar 18, 2013 at 12:34:16PM +0000, Duncan Coutts wrote:
> >
> > Then you can have ghc-pkg depend on Cabal and use that for the
> > human-readable bits, but since that's a program then it doesn't expose
> > the Cabal lib dependency. Then ghc (and hence the ghc lib) would not
> > depend on Cabal, but it would need a copy of the InstalledPackageInfo
> > type and the other types that it uses.
>
> Right, exactly. But we don't want to have 2 copies of the types, so
> could we move them into a Cabal-datatypes package which can be shared by
> both Cabal and GHC please?
That would be a rather annoying split. The cabal-lib package itself is
supposed to be just types + parsers + pretty printers (& related utils).
It'd end up looking like:
cabal-types:
types: InstalledPackageInfo, PackageName, Version, PackageId,
InstalledPackageId, License
cabal-lib:
parser for InstalledPackageInfo, PackageName, Version, PackageId,
InstalledPackageId, License
modules Distribution.*
cabal-build-simple:
modules Distribution.Simple.*
It's not as if one could frame this as a "the aspects of the Cabal spec
that compilers need" because the other impls will want the parser +
printers as well.
Duncan
More information about the Libraries
mailing list