byteverse / haskell-ip

IP Address implementation
Other
20 stars 19 forks source link

Get Rid of IP type #69

Open andrewthad opened 4 years ago

andrewthad commented 4 years ago

This library offers three types for IP addresses: IPv4, IPv6, and IP. Two of these, IP and IPv6, are the same thing, but IP has special provisions for mapped IPv4 addresses. The newtype is only used to distinguish JSON instances. I think we can drop the newtype and leave the Net.IP module mostly alone, switching all the types to IPv6. There's the question of what the JSON instances for IPv6 should do, and I think that showing mapped IPv4 addresses in JSON as a plain old dot-decimal-encoded IPv4 address is what most people will want.

chessai commented 4 years ago

nice

On Thu, Oct 15, 2020, 08:44 Andrew Martin notifications@github.com wrote:

This library offers three types for IP addresses: IPv4, IPv6, and IP. Two of these, IP and IPv6, are the same thing, but IP has special provisions for mapped IPv4 addresses. The newtype is only used to distinguish JSON instances. I think we can drop the newtype and leave the Net.IP module mostly alone, switching all the types to IPv6. There's the question of what the JSON instances for IPv6 should do, and I think that showing mapped IPv4 addresses in JSON as a plain old dot-decimal-encoded IPv4 address is what most people will want.

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/andrewthad/haskell-ip/issues/69, or unsubscribe https://github.com/notifications/unsubscribe-auth/AEOIX2662CING7QYKYZPEPDSK34DRANCNFSM4SSANCMA .