[Haskell] ANN: Yi 0.6.3

Jason Dagit dagitj at gmail.com
Tue Mar 29 03:46:47 CEST 2011


On Mon, Mar 28, 2011 at 6:39 PM, Brandon S Allbery KF8NH <
allbery.b at gmail.com> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
>
> On 3/28/11 21:29 , Ivan Lazar Miljenovic wrote:
> > On 29 March 2011 12:19, Brandon S Allbery KF8NH <allbery.b at gmail.com>
> wrote:
> >>> No, my meaning was that the reasoning of "I don't need to specify this
> >>> as a dependency since it's part of the Platform" isn't sound since not
> >>> everyone has the Platform.
> >>
> >> The point of the Platform is to provide a baseline.  So you *are* saying
> it
> >> is pointless, because you want packages to confirm to a different
> baseline.
> >
> > My impression that the Platform was a baseline in regards to "what do
> > I need to get started to develop with Haskell?", and not in terms of
> > specifying dependencies.  After all, we still need to specify a
> > dependency on `base' in .cabal files, even though it comes with GHC
> > and other compilers (let alone the Platform)?
>
> And it regularly causes annoying dependency issues, including causing cabal
> to regularly do diamond dependencies.
>
> Somehow the Haskell community is hellbent on repeating the mistakes every
> other community learned about the hard way years ago, especially in the
> area
> of dependencies (first refusing to acknowledge the need for upper
> dependency
> limits, more recently trying to avoid adding an epoch — and I'm not
> counting
> how packages included with the compiler but not recognized as such by Cabal
> lead directly to Cabal introducing diamond dependency failures).  Is this
> *really* necessary, or should those of us who've seen it before just sit
> back and watch you all ram your heads against the same brick walls?
>

While more precise solutions do exist, cabal-dev solves this rather well in
practice via sandboxing.  I have not run into the diamond dependency issue
even once in several months of using cabal-dev regularly.  If I were still
using plain-old cabal I would have hit it at least a few times and I
probably would have blown away my ghc install a few times as well.

I think Ivan's point is: When we can be precise about dependencies we should
be.  I agree that someone using the HP as a dependency might not realize
that Alex is part of that.  Depending on the HP is a conservative
overapproximation.  Once we have more precise information, even if redundant
in this case, I think it's appropriate to document it as such.  The
alternative to that, is for Cabal to know what "HP-2011.1" implies in terms
of dependencies and to then be able to check for those things.  As I far as
I can tell, Cabal does not function that way.

Just my $0.02,
Jason
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/haskell/attachments/20110328/e00dfa90/attachment-0001.htm>


More information about the Haskell mailing list