extract-dependencies-0.1.0.0: src/Main.hs
module Main where
import Control.Concurrent.Async
import Control.Monad
import qualified Data.Set as Set
import Development.ExtractDependencies
import System.Environment
main :: IO ()
main = do
npkgs <- getArgs
deps <- mapConcurrently extractDependencies npkgs
forM_ (uniq (concat deps)) putStrLn
where
uniq = uniq' Set.empty
where
uniq' _ [] = []
uniq' x (y:ys) = if Set.member y x
then uniq' x ys
else y : uniq' (Set.insert y x) ys