I am trying out Haskell and Cabal. I created a project with this config file.
executable dictionary
main-is: Main.hs
-- other-modules:
-- other-extensions:
ghc-options: -threaded -rtsopts
build-depends: base >=4.9 && <4.10, http-streams, io-streams, bytestring, HsOpenSSL
-- hs-source-dirs:
default-language: Haskell2010
I am trying to send a get request.
main :: IO ()
main = withOpenSSL $ do
putStrLn "Type in a word"
word <- getLine
let word1 = filter isAlphaNum $ (words word) !! 0
putStrLn word1
ctx <- baselineContextSSL
c <- openConnectionSSL ctx url 443
let q = buildRequest1 $ do
http GET $ (C.pack $ "/api/v1/entries/en/" ++ word1)
setAccept (C.pack "text/html")
setHeader (C.pack "app_id") app_id
setHeader (C.pack "app_key") apli_id
sendRequest c q emptyBody
receiveResponse c (\p i -> do
S.putStrLn $ getStatusMessage p
xm <- Streams.read i
case xm of
Just x -> S.putStr x
Nothing -> putStrLn "")
closeConnection c
I try to run cabal run but the results still:
Type in a word
go
go
dictionary: user error (RTS doesn't support multiple OS threads (use ghc -threaded when linking))
I'm using macOS X siera
Oh, I just have to run:
cabal clean
and
cabal run
again to compile with the new flag.