I don't know if everyone caught it, but as Arwyn and I were discussing our
ongoing constraint satisfaction experiments, we were stumped in finding a
name for the following function pattern:
(f') . g . f (f' the inverse of f)
which crops up in many contexts in mathematics.
In the case in question, the pattern as a whole was applied to a complex
data structure; f pulled the data structure apart (excuse me if I'm vague
about this) and f' put it back together, after g had operated on the part
focused on.
It occurs to me that one way to look at this kind of thing in particular
is as *lifting* g into the data structure pulled apart (and rebuilt) by
f/f': but (perhaps unusually) the formulation focuses on transforming out
of, then back into, the containing structure. In other words, this seems
to actually be skirting awfully close to fmap (and maybe even the 'm'
word*)... perhaps why it's familiar in the FP context?
* lending credence to the claim that monads are such a useful notion
that even if you didn't know what they were you'd _still_ reinvent them.
--
Update your address books:
ja...@ioctl.org http://ioctl.org/jan/
Not as randy or clumsom as a blaster.