Systems

Synbit

Bidirectional programming by examples and forward function.

Synbit synthesizes a HOBiT program from a unidirectional “get” program and input/output examples for its “put” behavior.

Sparcl

Programming with partial invertibility.

Sparcl (a system for partially-reversible computation with linear types) is a higher-order linear-typed programming language to write invertible computation, leveraging partial invertibility.

HOBiT

A Bidirectional ML

HOBiT is a higher-order bidirectional programming language that supports point-wise description of bidirectional transformations.

FliPpr

Generate parsers from grammars with inputs—i.e., printers

FliPpr is a system for generating parsers from pretty-printers, with guarantee that pretty-printed strings are always parsed correctly.

App-Lens

A Library for applicative bidirectional programming.

App-lens is a library for Haskell that enables bidirectional programming in an applicative (or, point-wise) style.