packages feed

idris-0.9.9: tutorial/examples/wheres.idr

module wheres

even : Nat -> Bool 
even Z = True
even (S k) = odd k where 
  odd Z = False
  odd (S k) = even k 

test : List Nat
test = [c (S 1), c Z, d (S Z)]
  where c x = 42 + x
        d y = c (y + 1 + z y)
              where z w = y + w