module Bit where data Bit = Zero | One deriving (Eq, Show) bit_to_int :: Bit -> Int bit_to_int Zero = 0 bit_to_int One = 1 -- If we are passed a '0' or '1', convert it appropriately. Otherwise, -- default to Zero. bit_from_char :: Char -> Bit bit_from_char '0' = Zero bit_from_char '1' = One bit_from_char _ = Zero