HaRe-0.8.2.0: test/testdata/LiftToToplevel/Collapse1.hs
module LiftToTop3evel.Collapse1 where
collapse' _ _ [] = []
collapse' left space (t:ts) = new : collapse' right space rest
where
(_, leftInner) = left
rightInner = leftInner + symbolSize t
rightOuter = rightInner + symbolSize rights
right = (rightInner, rightOuter)
(rights, rest) = span space ts
new = (t, Bounds left right)
data Bounds = Bounds (Int,Int) (Int,Int)
symbolSize t = 4