[Haskell-cafe] SLURP: a single unified registry for Haskell packages

Simon Peyton Jones simonpj at microsoft.com
Mon Jan 22 12:44:52 UTC 2018


Hackage has been extraordinarily successful as a single repository through which to share Haskell packages. It has supported the emergence of variety of tools to locate Haskell packages, build them and install them (cabal-install, Stack, Nix, ...). But in recent years there has been increasing friction over,

  *   Hackage's policies, especially concerning version bounds;
  *   Hackage's guarantees, especially around durability of package content and metadata;
  *   Hackage's features, especially the visual presentation and package documentation.

If we do not resolve this friction, it seems likely that the Haskell library ecosystem will soon "fork", with two separate repositories, one optimised for Cabal and one for Stack. This would be extremely counter-productive for Haskell users.

Thus motivated, over the last few months we have talked a lot to colleagues, including ones in the Hackage and Stack communities. We have emerged with SLURP, a proposal that could go a long way towards supporting the upsides of a diverse ecosystem, without the sad downsides of forking into mutually-exclusive sub-communities.

Here is the SLURP proposal<https://github.com/simonmar/ecosystem-proposals/blob/slurp/proposals/0000-slurp.rst>. We invite the Haskell community to debate it.

SLURP is meant to enable both Hackage and Stackage (and perhaps more services in the future) to in the future make choices autonomously without hurting other package services. But it will only work if the implementors of both Hackage and Stackage are willing to participate. We respect their autonomy in this matter, but we urge them to give this proposal serious consideration in the best interests of the community and Haskell's success. We have carefully designed SLURP to be as minimal and non-invasive as possible, so that it can be adopted without much trouble. Of course, we are open to debate about the specific details.

We do have an offer from someone willing to implement SLURP.

We also strongly urge members of the community to express clear views about the importance --- or otherwise --- of adopting something like SLURP. You are, after all, the community that GHC, Hackage, Stackage, Cabal, etc are designed to serve, so your views about what best meets your needs are critically important.

Mathieu Boespflug (@mboes<https://github.com/boes>)
Manuel Chakravarty (@mchakravarty<https://github.com/mchakravarty>)
Simon Marlow (@simonmar<https://github.com/simonmar>)
Simon Peyton Jones (@simonpj<https://github.com/simonpj>)
Alan Zimmerman (@alanz<https://github.com/alanz>)

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.haskell.org/pipermail/haskell-cafe/attachments/20180122/030944b5/attachment.html>

More information about the Haskell-Cafe mailing list