Advertisement
magnusbakken

Untitled

Apr 15th, 2014
66
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. class Bitwise a where
  2.       (&) :: a -> a -> a
  3.       (^|^) :: a -> a -> a
  4.       (^) :: a -> a -> a
  5.  
  6. data Bit = Zero | One deriving (Show, Eq)
  7.  
  8. instance Bitwise Bit where
  9.   (&) One One = One
  10.   (&) _ _ = Zero
  11.   (^|^) Zero Zero = Zero
  12.   (^|^) _ _ = One
  13.   (^) One Zero = One
  14.   (^) Zero One = One
  15.   (^) _ _ = Zero
  16.  
  17. zero :: Bit
  18. zero = Zero
  19.  
  20. one :: Bit
  21. one = One
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement