hermit-0.3.0.0: examples/mean/Mean.hss
{rhs-of 'mean ; lam-body
{ arg 2 ; let-intro 's }
{ arg 3 ; let-intro 'l }
innermost let-float
try (reorder-lets ['s,'l])
let-tuple 'sl
{ case-expr ; abstract 'xs ; app-fun ; let-intro 'sumlength }
}
innermost let-float
binding-group-of 'sumlength
nonrec-to-rec -- since we intend sumlength to be a recursive function
binding-of 'sumlength
remember sumlen
{ [def-rhs, lam-body]
case-split-inline 'xs
any-call (unfold 'sum)
any-call (unfold 'length)
simplify
case-alt 1
alpha-alt ['y,'ys]
alt-rhs
{ arg 3 ; arg 3 ; let-intro 'l }
{ arg 2 ; arg 3 ; let-intro 's }
innermost let-float
try (reorder-lets ['s,'l])
let-tuple 'sl
{ case-expr ; fold sumlen }
}