import Subnet.Binary import Subnet.Ip import Subnet.Network import System.Environment import Data.List main :: IO () main = do args <- getArgs case args !! 0 of "summarize" -> putStrLn . getSubnetMask . summarize . map mkLogIp $ tail args "network" -> putStrLn . getLogIp $ network (mkLogIp (args !! 1)) (mkSubnetMask (args !! 2)) "hosts" -> putStrLn . intercalate ", " . map getLogIp $ hosts (mkLogIp (args !! 1)) (mkSubnetMask (args !! 2)) "broadcast" -> putStrLn . getLogIp $ broadcast (mkLogIp (args !! 1)) (mkSubnetMask (args !! 2))