hsdev-0.1.6.3: tools/hshayoo.hs
module Main (
main
) where
import Data.Maybe
import HsDev.Tools.Hayoo
import Tool
data HayooOpts = HayooOpts String Int Int
hayooOpts :: Parser HayooOpts
hayooOpts = HayooOpts <$>
strArgument (help "hayoo query") <*>
(option auto (long "page" <> short 'p' <> help "page number (0 by default") <|> pure 0) <*>
(option auto (long "pages" <> short 'n' <> help "pages count (1 by default") <|> pure 1)
main :: IO ()
main = toolMain "hshayoo" "hayoo search" hayooOpts $ \(HayooOpts q page pages) -> printExceptT $ printResult $
liftM concat $ forM [page .. page + pred pages] $ \i ->
liftM (mapMaybe hayooAsDeclaration . resultResult) $ hayoo q (Just i)