Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module Main where
- nand :: Bool -> Bool -> Bool
- nand True True = False
- nand _ _ = True
- not :: Bool -> Bool
- not x = Main.nand x x
- and :: Bool -> Bool -> Bool
- and x y = Main.not $ Main.nand x y
- or :: Bool -> Bool -> Bool
- or x y = Main.nand (Main.not x) (Main.not y)
- nor :: Bool -> Bool -> Bool
- nor x y = Main.not $ Main.or x y
- xor :: Bool -> Bool -> Bool
- xor x y = Main.or (Main.and x $ Main.not y) (Main.and y $ Main.not x)
- add [Bool] -> [Bool] -> [Bool]
- add [] x = x
- add x [] = x
- add x [False] = x
- add [False] x = x
- add [True] [True] = [True, False]
- main = do
- print $ Main.nor True True
- print $ Main.nor False True
- print $ Main.nor True False
- print $ Main.nor False False
Add Comment
Please, Sign In to add comment