mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-09-11 13:36:08 +03:00
27 lines
511 B
Idris
27 lines
511 B
Idris
foo : Int -> Int
|
|
foo x = case isLT of
|
|
Yes => x*2
|
|
No => x*4
|
|
where
|
|
data MyLT = Yes | No
|
|
|
|
isLT : MyLT
|
|
isLT = if x < 20 then Yes else No
|
|
|
|
even : Nat -> Bool
|
|
even Z = True
|
|
even (S k) = odd k where
|
|
odd : Nat -> Bool
|
|
odd Z = False
|
|
odd (S k) = even k
|
|
|
|
test : List Nat
|
|
test = [c (S 1), c Z, d (S Z)]
|
|
where c : Nat -> Nat
|
|
c x = 42 + x
|
|
|
|
d : Nat -> Nat
|
|
d y = c (y + 1 + z y)
|
|
where z : Nat -> Nat
|
|
z w = y + w
|