logo       

RE: Text.ParserCombinators.Parsec requires -package text.: msg#00039

lang.haskell.glasgow.bugs

Subject: RE: Text.ParserCombinators.Parsec requires -package text.

On 07 September 2004 17:45, Alastair Reid wrote:

> SimonM:
>>> So you're proposing that -package options should *always* be
>>> required?
>
> Why is it necessary to provide -package options at all?
>
> ghc-pkg knows about all the packages in your system so it could just
> implicitly add -package $x for every package when compiling or
> linking.
>
> When would you ever want to omit a package that you have installed on
> your system? I can only think of two cases:
>
> 1) You want to check that your program can be compiled on a system
> with just packages x, y and z installed.
>
> 2) You are the developer of package x and are developing/testing a new
> version.

It is possible to have incompatible packages - i.e. packages that export
identical symbols and so can't both be present on the link line. The
recent package proposal allows packages to overlap, so in order to
implement the "link everything" idea we would be forced to include the
package name in each symbol in a GHC-generated object file (we might
need to do this eventually anyway, but without "link everything" we
don't have to do it yet).

Not to mention incompatible C libraries: suppose I have two packages
implementing Haskll layers over gtk 1.2 and 2.0 - I can't try to link
both of those, even if the Haskell layers don't overlap.

> It seems like these could be handled by providing flags to change the
> default behaviour:
>
> -no-std-packages
> Clear the list of packages - you must specify them all explicitly.
> -without-package x
> Omit x from the list of packages

Well, we'll probably need these anyway when we get around to
implementing the rest of the package proposal.

Cheers,
Simon


<Prev in Thread] Current Thread [Next in Thread>
Google Custom Search

News | FAQ | advertise