module Bit where
-data Bit = Zero | One
+data Bit = None | Zero | One
deriving (Eq, Show)
bit_to_int :: Bit -> Int
-bit_to_int Zero = 0
-bit_to_int One = 1
+bit_to_int None = -1
+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.
+-- default to None.
bit_from_char :: Char -> Bit
bit_from_char '0' = Zero
bit_from_char '1' = One
-bit_from_char _ = Zero
+bit_from_char _ = None