@@ -81,7 +81,7 @@ import Idris.TypeSearch (searchByType)
8181import Idris.WhoCalls
8282import IRTS.CodegenCommon
8383import IRTS.Compiler
84−import Network
84+import Network.Socket hiding (defaultPort)
8585#if (MIN_VERSION_base(4,11,0))
8686import Prelude hiding (id, (.), (<$>), (<>))
8787#else
@@ -166,7 +166,8 @@ startServer port orig fn_in = do tid <- runIO $ forkIO (serverLoop port)
166166 fn = fromMaybe "" (listToMaybe fn_in)
167167
168168 loop fn ist sock
169− = do (h,_,_) <- accept sock
169+ = do (s, _) <- accept sock
170+ h <- socketToHandle s ReadWriteMode
170171 hSetEncoding h utf8
171172 cmd <- hGetLine h
172173 let isth = case idris_outputmode ist of
@@ -218,9 +219,11 @@ processNetCmd orig i h fn cmd
218219runClient :: Maybe PortNumber -> String -> IO ()
219220runClient port str = withSocketsDo $ do
220221 let port' = fromMaybe defaultPort port
221− res <- X.try (connectTo "localhost" $ PortNumber port')
222+ s <- socket AF_INET Stream defaultProtocol
223+ res <- X.try (connect s (SockAddrInet port' $ tupleToHostAddress (127,0,0,1)))
222224 case res of
223− Right h -> do
225+ Right () -> do
226+ h <- socketToHandle s ReadWriteMode
224227 hSetEncoding h utf8
225228 hPutStrLn h str
226229 resp <- hGetResp "" h
@@ -245,7 +248,8 @@ initIdemodeSocket :: IO Handle
245248initIdemodeSocket = do
246249 (sock, port) <- listenOnLocalhostAnyPort
247250 putStrLn $ show port
248− (h, _, _) <- accept sock
251+ (s, _) <- accept sock
252+ h <- socketToHandle s ReadWriteMode
249253 hSetEncoding h utf8
250254 return h
251255