Skip to content

Instantly share code, notes, and snippets.

@nh2
Created April 10, 2014 01:49
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save nh2/10336390 to your computer and use it in GitHub Desktop.
Save nh2/10336390 to your computer and use it in GitHub Desktop.
Sorts and prints Haskell packages by number of reverse dependencies
import Data.List (sort)
import qualified Data.Map as Map
import Distribution.PackDeps
import Control.Monad
main :: IO ()
main = do
newest <- loadNewest
let reverses = getReverses newest
packagesOrderedByNumberOfDeps = reverse $ sort [ (length deps, name) | (name, (_,deps)) <- Map.toList reverses ]
forM_ (take 300 $ packagesOrderedByNumberOfDeps) $ \(ndeps, name) ->
putStrLn $ show ndeps ++ " " ++ name
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment