on 93ffb85 help sign in
streamly/src/Asyncly/Examples/SearchEngineQuery.hs
21 lines 758 B history raw
1module Asyncly.Examples.SearchEngineQuery where
3import Asyncly
4import Asyncly.Prelude (ZipAsync (..))
5import Network.HTTP.Simple
7-- Runs three search engine queries in parallel.
8searchEngineQuery :: IO ()
9searchEngineQuery = do
10 putStrLn "Using parallel alternative"
11 runAsyncly $ google <|> bing <|> duckduckgo
13 putStrLn "\nUsing parallel applicative zip"
14 runAsyncly $ getZipAsync $
15 (,,) <$> ZipAsync google <*> ZipAsync bing <*> ZipAsync duckduckgo
17 where
18 get s = liftIO (httpNoBody (parseRequest_ s) >> putStrLn (show s))
19 google = get "https://www.google.com/search?q=haskell"
20 bing = get "https://www.bing.com/search?q=haskell"
21 duckduckgo = get "https://www.duckduckgo.com/?q=haskell"