Version 0.0.6
This version contains several tweaks and fixes as a result of fusing the example of game trees in John Hughes's paper Why Functional Programming Matters.
Version 0.0.5.1
- Lists missing file in hfusion.cabal.
Version 0.0.5
- Implements searching and fusing explicit compositions of hylomorphisms in expressions. E.g.
... map f (filter p (map g xs)) ...
but not
... map f . filter p . map g ...
or
h = map f k = filter p ... h (k (map g xs)) ...
- Fixes fusion of
tails . map
withtails
defined as:
tails :: [a] -> [[a]] tails [] = [] tails xs@(_:xss) = xs : tails xss
- Fixed derivation of mutual hylos from definitions where each one uses a different set of names for the constant arguments.
- Fixed pretty printing of terms in the presence of infix constructors.
HFusion doesn't support specifying precedences and associativity for infix operators really.
I've tried to have the common infix operators (
(:),(+),(*),(-),(^),(++)
) printed resonably, however.
Version 0.0.4
- Fuses spoon-feeded compositions.