This is an implementation of the ideas presented in Bidirectionalization
for Free! (paper at POPL'09) by Janis Voigtlaender.
It also includes an automatic deriver for the Zippable type class.
Using the cabal flag binaries will enable the creation of a web frontend
to bff, in the form of a CGI program. Make sure you understand the
security implications before allowing untrusted access to the script.
Using the cabal flag stats will generate programs that collect performance
statistics about bff and print them as a table.
Using the cabal flag render will generate a program that renders collected
performance statistics as PDF files.
You may also want to check out later work combining the implementation here
with other methods:
http://hackage.haskell.org/package/bidirectionalization-combined.