Questions tagged [hackage]

Hackage is the central package archive for open-source software in the Haskell programming language.

Hackage is the central package archive for open-source software in the Haskell programming language. Typical tools to fetch and install packages from hackage are and .

119 questions
32
votes
3 answers

Which Haskell package for JSON

There are about a dozen JSON packages on Hackage for Haskell. How do I know which package I should use? How do I get a popular opinion? Are there any statistics on which package is being used the most, downloaded the most, etc.?
qrest
  • 503
  • 1
  • 5
  • 6
23
votes
6 answers

Which is your favorite "hidden gem" package on Hackage?

There are a lot of packages on Hackage, some well known (such as HUnit) and some less known (such as AspectAG). I'm wondering which package you think is a hidden gem that deserves more users. Maybe a useful data structure, helpers for monads,…
finnsson
  • 4,037
  • 2
  • 35
  • 44
23
votes
1 answer

How to add a changelog to a Cabal package?

I see that Hackage 2 has a changelog field. This is a feature I've wanted for a long time. But multiple Google searches have failed to find a single shred of documentation about how you populate this field. Does anyone know how to do it?
MathematicalOrchid
  • 61,854
  • 19
  • 123
  • 220
21
votes
2 answers

Control.Monad.State found in multiple packages haskell

While evaluating the line "import Control.Monad.State" in a Haskell module, GHC gives me the following error: Could not find module `Control.Monad.State': it was found in multiple packages: monads-fd-0.0.0.1 mtl-1.1.0.2 Failed, modules loaded:…
Bill
  • 44,502
  • 24
  • 122
  • 213
19
votes
4 answers

How can one make a private copy of Hackage

I'd like to snapshot the global Hackage database into a frozen, smaller one for my company's deploys. How can one most easily copy out some segment of Hackage onto a private server?
J. Abrahamson
  • 72,246
  • 9
  • 135
  • 180
17
votes
1 answer

Blacklisting your own faulty hackage release

I've accidentally uploaded a faulty distribution and tried to reupload it right away, but cabal replied with: This version of the package has already been uploaded. As a matter of policy we do not allow package tarballs to be changed after…
Nikita Volkov
  • 42,792
  • 11
  • 94
  • 169
17
votes
2 answers

How can I search a hackage package for a function?

Maybe I am missing something, but is there a way to search inside some package on hackage? Let's say I know that Snap framework has a function called render. How do I find it starting on it's hackage…
Andriy Drozdyuk
  • 58,435
  • 50
  • 171
  • 272
16
votes
4 answers

How do I determine reasonable package dependency bounds when releasing a Haskell library?

When releasing a library on Hackage, how can I determine reasonable bounds for my dependencies? It's a very brief question - not sure what additional information I can provide. It would also be helpful to know if this is handled differently…
Chris Stryczynski
  • 30,145
  • 48
  • 175
  • 286
16
votes
3 answers

Conventions for Stability field of Cabal packages

Cabal allows for a freeform Stability field: stability: freeform The stability level of the package, e.g. alpha, experimental, provisional, stable. What are the community conventions about these stability values? What is considered experimental…
sastanin
  • 40,473
  • 13
  • 103
  • 130
15
votes
4 answers

How to handle feature requests that add new package dependencies

I am the maintainer of a package on hackage, lrucache. I recently received a feature request for adding instances for Binary and NFData. Both of those are useful things to have, and I have no issue with those instances, in principle. However, both…
Carl
  • 26,500
  • 4
  • 65
  • 86
15
votes
3 answers

Does a useful Haskell HashMap/HashTable/Dictionary library exist?

I'm looking for a monad-free, constant access query O(1) associative array. Consider the hypothetical type: data HT k v = ??? I want to construct an immutable structure once: fromList :: Foldable t, Hashable k => t (k,v) -> HT k v I want to…
recursion.ninja
  • 5,377
  • 7
  • 46
  • 78
15
votes
4 answers

Which Haskell package contains given module

I know a Haskell module name, but I can't figure out in what package it is defined. This is bad because I can't compile without a package exposing this module. Specificaly it is Text.Regex that I can't locate, but I would like to know how to solve…
luntain
  • 4,560
  • 6
  • 37
  • 48
14
votes
1 answer

Why is the Haddock documentation not showing up on Hackage?

I've got a package on Hackage that has haddock generated documentation but it isn't showing up on the Hackage page. I'm able to upload everything successfully but the documentation doesn't show up. I generate the documentation with cabal haddock or…
Trystan Spangler
  • 1,685
  • 11
  • 20
13
votes
3 answers

Non-maintainer uploads to Hackage

I have a package on Hackage which depends on third-party package, which doesn't build on newer versions of GHC (>= 7.2). The problem with the other package can be solved with just a one-line patch (a LANGUAGE pragma). I sent the patch to the…
sastanin
  • 40,473
  • 13
  • 103
  • 130
13
votes
1 answer

Find earliest package version with function X

So I'm sitting here wondering why the hell I can't find the function I'm looking for, and it turns out it doesn't exist in the version of the package I have installed. So how do I make Hackage tell me what version that function was added in? (In…
MathematicalOrchid
  • 61,854
  • 19
  • 123
  • 220
1
2 3 4 5 6 7 8