[Haskell-beginners] Cabal: Upgrading to the latest version of library

Giovanni Tirloni gtirloni at sysdroid.com
Tue Nov 1 21:01:45 CET 2011


On Tue, Nov 1, 2011 at 2:04 PM, Hugo Ferreira <hmf at inescporto.pt> wrote:
>
> I have used Ocaml + the GODI "package manager" and it seems work ok.
> GODI allows one to identify newer packages, select those we want to
> upgrade and recompiles any dependencies automatically.
>
>
As a newcommer, I feel that this subject has already been discussed at
length by the Haskell community and progress is being made.

Two articles that I have been referred to in order to understand it better:

http://www.vex.net/~trebla/haskell/sicp.xhtml#unsafeInterleave
http://ivanmiljenovic.wordpress.com/2010/03/15/repeat-after-me-cabal-is-not-a-package-manager/

As a Fedora user, I'm relying on the Haskell SIG work and using the ghc-*
RPM packages. When a given Hackage package has not been packaged in Fedora
yet, I'm using cabal to supplement but I think that's sub-optimal (from a
sysadmin perspective). I'm looking at ways to actually build my own RPMs
following their standards. As it's mentioned in one of the article, someone
has had the trouble to figure out which packages work best together.

I second Daniel's opinion that updates should be a conscious decision on
the part of the developer. The kind of dependency problems exemplified are
not restricted to cabal and apply as well to PHP's Pear, Perl's CPAN and
others. What I usually see is that developers try to guarantee their
packages will correctly work with a given set of dependencies and so they
specify minimum and maximum versions of those as restrictions. Obviously,
easing those restrictions would ensure it's easier to match package but who
guarantees they'll work (i.e. no important API change) ?

My own experience managing packages in PHP hosting environments tells me
that, even though the package manager was happy to upgrade everything I
told it to.. I would usually find the interfacing problems myself in the
form of downtime. In that scenario, I would prefer both a package more
strictly defined in terms of dependencies. In cabal/Haskell things won't
even compile, which is good :-)

Any, just 0.02 from a newbie.

Giovanni
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.haskell.org/pipermail/beginners/attachments/20111101/80215a56/attachment.htm>


More information about the Beginners mailing list