f5 :: (List' v, Expression v, Function (v (List Int)) v) => Main (v Int)
f5
= fun ( \sumf->(\l->[cp|case l of
- Cons e rest -> e +. sumf rest
+ Cons e rest -> e +. sumf(rest)
Nil -> 0
|])
-- :- Main {unmain=sumf $ lit (1 :: Int) `cons` (lit 2 `cons` (lit 3 `cons` nil))}
\(from, to)->if' (from >. to) nil (from `cons` fromto (from +. lit 1, to))
) :- fun ( \mullist->(
\l->[cp|case l of
- Cons e rest -> e *. mullist rest
+ Cons e rest -> e *. mullist(rest)
Nil -> 1
|]
) :- fun ( \fac->(