diagrams: An EDSL for creating simple diagrams

[ bsd3, graphics, library ] [ Propose Tags ]

An embedded domain-specific language (EDSL) for creating simple diagrams, built on top of the Cairo rendering engine.

[Skip to Readme]
Versions [faq] 0.1, 0.2, 0.2.1,,,, 0.2.2,,,, 0.3, 0.4, 0.5, 0.6, 0.7, 0.7.1,, 1.0,, 1.1,, 1.2, 1.3,, 1.4
Change log CHANGES
Dependencies base (>=2 && <4.8), cairo (>=0.9 && <0.11), colour (>=2.2.1 && <2.4), containers (==0.2.*), mtl (>=1.0 && <1.2) [details]
License BSD-3-Clause
Author Brent Yorgey
Maintainer byorgey@gmail.com
Revised Revision 1 made by bergey at 2015-04-10T20:36:52Z
Category Graphics
Home page http://code.haskell.org/diagrams
Uploaded by BrentYorgey at 2009-09-25T12:21:10Z
Distributions NixOS:1.4
Downloads 27818 total (202 in the last 30 days)
Rating 2.75 (votes: 9) [estimated by Bayesian average]
Your Rating
  • λ
  • λ
  • λ
Status Hackage Matrix CI
Docs not available [build log]
All reported builds failed as of 2016-12-10 [all 6 reports]


  • Graphics
    • Rendering
      • Graphics.Rendering.Diagrams
        • Graphics.Rendering.Diagrams.Attributes
        • Graphics.Rendering.Diagrams.Engine
        • Graphics.Rendering.Diagrams.Layouts
        • Graphics.Rendering.Diagrams.Paths
        • Graphics.Rendering.Diagrams.Shapes
        • Graphics.Rendering.Diagrams.Types



Testing mode


Use -f <flag> to enable a flag, or -f -<flag> to disable that flag. More info


Note: This package has metadata revisions in the cabal description newer than included in the tarball. To unpack the package including the revisions, use 'cabal get'.

Maintainer's Corner

For package maintainers and hackage trustees

Readme for diagrams-

[back to package description]
Graphics.Rendering.Diagrams provides an embedded domain-specific
language (EDSL) for creating simple graphics in a compositional style.

For some examples of use, see http://code.haskell.org/diagrams/ .


To install the Diagrams library:

1. Get the dependencies

    The diagrams library uses Haskell bindings to the Cairo vector
    graphics library.  In order to build the diagrams library, you
    will first need the following:

    * The Cairo library itself.  This is probably available through
      your system's package manager and may even already be installed.
      On Ubuntu, for example, it is available from the 'libcairo'

    * The Haskell cairo bindings, which are packaged as part of
      gtk2hs.  Unfortunately, for various technical reasons, gtk2hs is
      not cabalized and cannot be downloaded and installed from
      Hackage.  To get gtk2hs you will need to go to the gtk2hs
      website (http://www.haskell.org/gtk2hs/) and follow the
      instructions to download and build it.

    * The colour library, which is available from Hackage.  If you use
      the cabal-install build option described below, the colour
      library will be downloaded and installed for you automatically.

2. Build

   * Option 1: use cabal-install

     If you have cabal-install, *after* installing gtk2hs, you can
     install diagrams and the remaining dependencies with

       cabal install diagrams

     Optionally, you can also pass options such as --user
     --prefix=$HOME to install locally.

  * Option 2: manual build

    Once all the dependencies are built and installed, you can build
    and install diagrams as follows:
      runhaskell Setup.lhs configure --prefix=$HOME --user
      runhaskell Setup.lhs build
      runhaskell Setup.lhs install

    (Optionally, you can omit the --prefix and --user arguments to the
    configure step, and run the install step with 'sudo' in order to
    install the library systemwide.)

3. Building Haddock documentation (recommended)

     runhaskell Setup.lhs haddock

   Once the documentation has been built, you can access it by 
   pointing your browser to dist/doc/html/diagrams/index.html.