@hackage hackage-db1.22
access Hackage's package database via Data.Map
Categories
License
BSD-3-Clause
Maintainer
Peter Simons <simons@cryp.to>
Links
Versions
Installation
Dependencies (8)
- Cabal <2.2
- base >=3 && <5
- bytestring
- containers
- directory
- filepath Show all…
Dependents (14)
@hackage/hackage-processing, @hackage/thank-you-stars, @hackage/codex, @hackage/acme-everything, @hackage/hesh, @hackage/arch-hs, Show all…
This module provides simple access to the Hackage database by means
of Data.Map. Suppose you wanted to implement a utility that queries
the set of available versions for a given package, the following
program would do the trick:
import qualified Distribution.Hackage.DB as DB import Distribution.Text ( display ) import System.Environment ( getArgs ) main :: IO () main = do pkgs <- getArgs db <- DB.readHackage let getVersions name = maybe [] DB.keys (DB.lookup name db) mapM_ (putStrLn . unwords . map display . getVersions) pkgs
When run, it would produce the following output:
./a.out containers deepseq cabal-install 0.1.0.0 0.1.0.1 0.2.0.0 0.2.0.1 0.3.0.0 0.4.0.0 1.0.0.0 1.1.0.0 1.1.0.1 1.1.0.2 0.4.0 0.5.0 0.5.1 0.5.2 0.6.0 0.6.2 0.6.4 0.8.0 0.8.2 0.10.0 0.10.2