The diagrams package
Diagrams is a full-featured framework and embedded domain-specific langauge for creating declarative vector graphics and animations.
This package is just a convenient wrapper around the diagrams-core, diagrams-lib and diagrams-contrib packages, so they can be installed with a single cabal install diagrams command.
The package also comes with flags to enable six different backends. A Haskell-native SVG backend (the diagrams-svg package) can be selected with -fsvg. This flag is enabled by default, so if you do not want the SVG backend, you must explicitly disable it with -f-svg. The SVG backend does not yet quite support all the features of the cairo backend: text alignment and embedded images are the two main missing features at this point, and of course it can only produce SVG images. It is, however, much easier to install, so it is the out-of-the-box default.
There is also a cairo backend (the diagrams-cairo package) which can be selected with the -fcairo flag. It is fully-featured and can produce PNG, PS, PDF, SVG, or animated GIF output; however, due to its dependencies it can be difficult to install on some platforms (notably OS X).
In addition, there is a GTK backend based on the cairo backend, for rendering diagrams directly to GTK windows. You can enable it with the -fgtk flag.
The Haskell-native postscript backend (the diagrams-postscript package) can be selected with the -fpostscript flag. The only feature it does not support is transparency.
There is a Rasterific backend which is also Haskell-native (the diagrams-rasterific package) which can be selected with the -frasterific flag. This is a fully featured backend with the ability to produce PNG, JPG, TIFF, BMP and animated GIF output.
Finally there is a Canvas backend, also haskell native, which can be selected with the -fcanvas flag. This backend allows users to write interactive images onto their web browsers.
For more information, including a gallery of examples, tutorial, and user manual, see the diagrams website: http://projects.haskell.org/diagrams. For help, join the #diagrams IRC channel on Freenode or the mailing list: http://groups.google.com/group/diagrams-discuss.
[Skip to Readme]
|Versions||0.1, 0.2, 0.2.1, 0.2.1.1, 0.2.1.2, 0.2.1.3, 0.2.2, 0.2.2.1, 0.2.2.2, 0.2.2.3, 0.3, 0.4, 0.5, 0.6, 0.7, 0.7.1, 0.7.1.1, 1.0, 188.8.131.52, 1.1, 184.108.40.206, 1.2, 1.3, 220.127.116.11|
|Dependencies||diagrams-contrib (==1.3.*), diagrams-core (==1.3.*), diagrams-lib (==1.3.*), diagrams-svg (>=1.3 && <1.5) [details]|
|Source repository||head: git clone git://github.com/diagrams/diagrams.git|
|Uploaded||Thu Feb 18 15:34:18 UTC 2016 by jeffreyrosenbluth|
|Distributions||LTSHaskell:18.104.22.168, NixOS:22.214.171.124, Stackage:126.96.36.199|
|Downloads||10043 total (71 in the last 30 days)|
Build status unknown [no reports yet]
|cairo||Enable the cairo backend||Disabled||Manual|
|gtk||Enable the GTK backend||Disabled||Manual|
|svg||Enable the Haskell-native SVG backend||Enabled||Manual|
|ps||Enable the Haskell-native PostScript backend||Disabled||Manual|
|postscript||Enable the Haskell-native PostScript backend||Disabled||Manual|
|rasterific||Enable the Haskell-native Rasterific backend||Disabled||Manual|
|canvas||Enable the Haskell-native Canvas backend||Disabled||Manual|
Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info
For package maintainers and hackage trustees