mirror of
https://github.com/idris-lang/Idris2.git
synced 2024-11-28 19:13:02 +03:00
4f10bfcfd2
This is referred to in the documentation, so should be there
14 lines
281 B
Idris
14 lines
281 B
Idris
|
|
isSingleton : Bool -> Type
|
|
isSingleton True = Nat
|
|
isSingleton False = List Nat
|
|
|
|
mkSingle : (x : Bool) -> isSingleton x
|
|
mkSingle True = 0
|
|
mkSingle False = []
|
|
|
|
sum : (single : Bool) -> isSingleton single -> Nat
|
|
sum True x = x
|
|
sum False [] = 0
|
|
sum False (x :: xs) = x + sum False xs
|