X-Git-Url: http://gitweb.michael.orlitzky.com/?p=hath.git;a=blobdiff_plain;f=src%2FBit.hs;h=e3d90e420e2bffbbe97accd2ad08246731aacde4;hp=5c8c5aa25903ba4332db63faaf55ccfd0e2e0f44;hb=942b8ef3bc5830ca0defa62342d55550aea59934;hpb=81f6f0ca67347de6b3e3f57b5b50bb543cc7c146 diff --git a/src/Bit.hs b/src/Bit.hs index 5c8c5aa..e3d90e4 100644 --- a/src/Bit.hs +++ b/src/Bit.hs @@ -11,7 +11,7 @@ import Test.QuickCheck ( data Bit = Zero | One - deriving (Eq) + deriving (Enum, Eq) instance Show Bit where show Zero = "0" @@ -22,6 +22,17 @@ instance Arbitrary Bit where arbitrary = elements [ Zero, One ] +instance Ord Bit where + Zero <= Zero = True + Zero <= One = True + One <= Zero = False + One <= One = True + +instance Bounded Bit where + minBound = Zero + maxBound = One + + -- | Convert a Bit to an Int. bit_to_int :: Bit -> Int bit_to_int Zero = 0