diff --git a/programs/lazy.lily b/programs/lazy.lily new file mode 100644 index 0000000..b6139a0 --- /dev/null +++ b/programs/lazy.lily @@ -0,0 +1,17 @@ +data IntList = { Nil, Cons(Int, IntList) } + +defn ones = { Cons 1 ones } +defn zipSum l r = { + case l of { + Nil -> { 0 } + Cons(lv, lt) -> { + case r of { + Nil -> { 0 } + Cons(rv, rt) -> { + (lv + rv) + zipSum lt rt + } + } + } + } +} +defn main = { zipSum (Cons 0 (Cons 1 Nil)) ones }