packages feed

hermit-0.2.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
consider 'sumlength
nonrec-to-rec           -- since we intend sumlength to be a recursive function
rec-def 0
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 }
}