Fwd: [Haskell-cafe] Weird socket problem on Mac OS X

---------- Forwarded message ----------
From: Arnaud Bailly
Yes, I have also seen the other post on the same topic, but it seemed to refer to the PortNumber in Network.Socket with a PortNum constructor I think, not the one in Network (but I am probably misleading myself as one is a reexportation of the other...). But then I got.
Slim\SlimClientIO.hs:26:51: No instance for (Num PortID) arising from a use of `fromInteger' at Slim\SlimClientIO.hs:26:51-61 Possible fix: add an instance declaration for (Num PortID) In the first argument of `($)', namely `fromInteger' In the expression: fromInteger $ slimport $ slimConfig st In the definition of `port': port = fromInteger $ slimport $ slimConfig st
:-( Thanks
Arnaud
On Fri, Jun 4, 2010 at 1:46 AM, Antoine Latter
wrote: Hi Arnaud,
One thing you might want to try is to stop using the PortNumber data constructor, and instead rely on 'fromInteger' to do the right thing.
The data constructor assumes that it's argument is in network byte order, which won't always be the case.
It's not obvious that the constructor should be avoided - this is the second time today I've seen this!
Take care, Antoine
On Jun 3, 2010 5:13 PM, "Arnaud Bailly"
wrote: Hello, I have the following code which works ok on Linux and Windows XP, but fails on Mac OS X with error message:
Connect: does not exist (connection refused)
The server:
doStartstate = do pr <- liftIO $ runProcess ... liftIO $ threadDelay 500000 st <- get put st { slimHandle = Just pr }
The client:
fetchAnswers st msgs = liftIO $! do let port = PortNumber $ fromInteger $ port $ config st cnx <- connectTo "localhost" port
Help most welcome, thanks
Arnaud _______________________________________________ Haskell-Cafe mailing list Haskell-Cafe@haskell.org http://www.haskell.org/mailman/listinfo/haskell-cafe
participants (1)
-
Arnaud Bailly