Boomerang (programming language)

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.