Boomerang
Website: www.seas.upenn.edu/~harmony/
Boomerang is a programming language for writing lenses—well-behaved bidirectional transformations —that operate on ad-hoc, textual data formats.
Boomerang grew out of the Harmony generic data synchronizer, which grew out of the Unison file synchronization project.