-
Notifications
You must be signed in to change notification settings - Fork 189
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Document the purpose of Network.Socket.BSD or consider merging #201
Comments
I'm a new maintainer. So, I don't know the historical reason. If we decide this change, I think that we should ask to |
Relating to #169 where I proposed to provide |
I agree with @kazu-yamamoto on the stance that the libraries mailing list should be consulted on matters like these. As well any removal should be passed through a proper deprecation cycle**. On the subject raised by @mboes, I would propose more drastic action (if only as a thought experiment):
Again, these stances are aggressive and pie in the sky. This package is depended on by large swaths of the ecosystem and any change must be slow and thoughtful. ** I do not believe we have an official stance on deprecation. This is something for @kazu-yamamoto and I to consider and document. |
To pile on, documentation in |
Yes. To deprecate something, we should prepare documentation and put them deprecated pragma first. I support the deprecation of |
@kazu-yamamoto, I agree that the scope of breakage from removing the string API is too large. Alternatively we could introduce warnings for those functions to further lead people in the right direction. |
Excuse me for interrupting, i just come across here after trying to start use network, i almost get lost between these modules:
Another question maybe not related, is there any necessary to use |
I get better understanding after reading many other language's net standard library and unix socket materials, now current module structure looks reasonable to me, here's what i think:
@kazu-yamamoto What's your opinion on these change? do they make sense? should they go through core-library consensus? |
These changes are readable to me. |
Just like i said #211, many thoughts have changed since i'm getting more familiar with FYI, i have release tcp-streams for more high-level need, i think |
@mboes What is your opinion at this moment? |
I would like to close this issue. Please reopen if necessary. |
The network package is really a combination of four API's:
Network
, which is deprecated.Network.Socket
, which is a set of straight up low-level bindings to the basic C socket API.Network.Socket.ByteString
, morally the same thing but bytestring based.Network.Socket.BSD
- I don't know.The latter provides additional functions not found in
Network.Socket
, presumably specific to the "BSD" sockets API. But everything is the BSD sockets API. Even Winsock on Windows is just a (relatively minor for our purposes) extension of it. In fact many of the functions exported byNetwork.BSD
are also exported when on the Windows platform. So is the split in two modules of the BSD sockets API a distinction without a difference?If so, I suggest we merge the two modules, for the sake of clarity. If not, then the purpose of
Network.Socket.BSD
should be clearly documented. It currently just says "defines Haskell bindings to network programming functionality provided by BSD Unix derivatives", which isn't too helpful given that the same could be said ofNetwork.Socket
.The text was updated successfully, but these errors were encountered: