bff-0.3: bff.cabal
name: bff
version: 0.3
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 >= 2 && < 4, 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 >= 2 && < 4, directory, hint >= 0.3.2
buildable: True
else
buildable: False
executable bff-cgi
main-is:
bff-cgi.hs
other-modules:
MyInterpret
if flag(binaries)
build-depends:
base >= 2 && < 4, directory, xhtml, cgi, hint >= 0.3.2, 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.12, data-accessor, colour
else
buildable: False