Idris2/tests/idris2/basic008/If.idr

19 lines
333 B
Idris
Raw Normal View History

data Bool = False | True
data Nat = Z | S Nat
not : Bool -> Bool
not False = True
not True = False
isZero : Nat -> Bool
isZero Z = True
isZero (S k) = False
isOdd : Nat -> Bool
isOdd Z = False
isOdd (S k) = not (isOdd k)
testZ : Nat -> String
testZ x = if isZero x then "Zero" else
if isOdd x then "Odd" else "Even"