hermit-0.2.0.0: examples/qsort/QSort.hss
flatten-module
consider 'qsort
ww-split-param 1 [|wrap|] [|unwrap|]
bash
{consider lam ; alpha-lam 't}
any-call (unfold 'wrap)
any-call (unfold 'unwrap)
simplify
{rhs-of 'work
alpha-lam 'xs
lam-body
any-td case-float-arg
eta-expand 'acc
bash
one-td inline-case-binder -- this used to be part of bash
bash
lam-body
{ case-alt 1
any-td (push 'repH)
consider alt
alpha-alt ['bs,'cs]
any-td (unfold-rule "repH ++")
any-bu case-float-arg
simplify
one-td (foreward (ww-fusion [| absH t |] [| repH t |] [| work bs |]))
one-td (foreward (ww-fusion [| absH t |] [| repH t |] [| work cs |]))
any-call (unfold-rule "repH (:)")
simplify
}
any-call (unfold-rule "repH []")
any-call (unfold 'id)
}
one-td (unfold 'absH)