
17 Aug
2013
17 Aug
'13
1:20 p.m.
Christopher Done
Anyone ever needed this? Me and John Wiegley were discussing a decent name for it, John suggested inv as in involution. E.g.
inv reverse (take 10) inv reverse (dropWhile isDigit) trim = inv reverse (dropWhile isSpace) . dropWhile isSpace
That seems to be the only use-case I've ever come across.
And it's here only because reverse^-1 ≡ reverse, is not it? I only can see how f ∘ g ∘ f^-1 can be a pattern.
There's also this one:
co f g = f g . g
which means you can write
trim = co (inv reverse) (dropWhile isSpace)
but that's optimizing an ever rarer use-case.
-- lelf