name: bff version: 0.1 license: PublicDomain description: 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. author: Janis Voigtlaender, Joachim Breitner maintainer: Janis Voigtlaender category: Data synopsis: Bidirectionalization for Free! (POPL'09) build-type: Simple cabal-version: >= 1.2 extra-source-files: QuickCheckTH.hs QuickCheck.hs testcgi.py flag binaries description: Build the binaries bff-shell and bff-cgi default: False flag stats description: Build the stats-generating and -printing programs default: False flag render description: Build the stats-rendering program default: False library exposed-modules: SimpleTree Data.Zippable Data.IntMapEq Data.IntMapOrd Data.Bff other-modules: Data.Derive.Zippable Data.Zippable.Definition build-depends: base, containers, mtl, template-haskell, category-extras == 0.53.5, derive == 0.1.1, haskell98, bimap == 0.2.3, unix executable bff-shell main-is: bff-shell.hs other-modules: MyInterpret if flag(binaries) build-depends: base, directory, hint buildable: True else buildable: False executable bff-cgi main-is: bff-cgi.hs other-modules: MyInterpret if flag(binaries) build-depends: base, directory, xhtml, cgi, hint, utf8-string buildable: True else buildable: False executable bff-stats main-is: Stats.hs other-modules: StatsDef if flag(stats) buildable: True build-depends: benchpress == 0.2.2.2 else buildable: False executable bff-stats-print main-is: StatsPrint.hs other-modules: StatsDef if flag(stats) buildable: True else buildable: False executable bff-stats-render main-is: StatsRender.hs other-modules: StatsDef if flag(render) buildable: True build-depends: Chart == 0.8 else buildable: False