
-1
I'd be in favor of a more drastic change, such as removing inet_addr
entirely . Largely because `inet_addr("255.255.255.255") ~
inet_addr("foobar")` as noted by the inet_addr man page. Let's add an
`inet_aton :: String -> m String` for some `m`.
I'd be enthusiastic if the full proposal was even more drastic,
including changing `inet_ntoa` into a pure function (which means
re-implementing it instead of using C due to the static buffer
problem).
On Thu, Aug 28, 2014 at 7:41 AM, Edward Kmett
inet_addr doesn't do any lookups, it is basically a glorified parsing problem converting from a string to a host address.
http://hackage.haskell.org/package/network-2.6.0.1/docs/src/Network-Socket.h...
Why, beyond the obvious implementation details, does it live in IO?
Given that the current version lives in IO, should there be a version that is obviously made pure so that folks who want to use it directly can do so without having to bury it behind an unsafePerformIO?
This isn't a concrete proposal at this time, but more an attempt to sound out if such a proposal should be formed.
-Edward
_______________________________________________ Libraries mailing list Libraries@haskell.org http://www.haskell.org/mailman/listinfo/libraries