churf/sample-programs/loop.crf

18 lines
339 B
Text

main = for 0 10000
for x n = case n of
0 => 0
n => for ((revRange 10000)) (n - 1)
data List (a) where
Nil : List (a)
Cons : a -> List (a) -> List (a)
-- create a list of x to 0
revRange x = case x of
0 => Cons x Nil
x => Cons x (revRange (x - 1))
sum xs = case xs of
Cons x ys => x + sum ys
Nil => 0