The diagrams-canvas package

[Tags:bsd3, library]

This package provides a modular backend for rendering diagrams created with the diagrams EDSL using an HTML5 canvas.

[Skip to Readme]


Versions 0.2,,,, 0.3,,,,, 1.3,,,,,,,
Change log
Dependencies base (>=4.6 && <4.10), blank-canvas (>=0.5 && <0.7), cmdargs (>=0.6 && <0.11), containers (>=0.3 && <0.6), data-default-class (>=0.0.1 && <0.2), diagrams-core (==1.3.*), diagrams-lib (==1.3.*), lens (>=4.0 && <4.15), mtl (>=2.0 && <3.0), NumInstances (>=1.0 && <1.5), optparse-applicative (==0.13.*), statestack (==0.2.*), text (>=1.0 && <1.3) [details]
License BSD3
Author Jeffrey Rosenbluth, Ryan Yates, Brent Yorgey, Andy Gill, Daniel Bergey
Stability Experimental
Category Graphics
Home page
Bug tracker
Source repository head: git clone
Uploaded Tue Aug 23 01:38:33 UTC 2016 by BrentYorgey
Distributions LTSHaskell:, NixOS:, Stackage:, Tumbleweed:
Downloads 1991 total (49 in the last 30 days)
0 []
Status Docs available [build log]
Last success reported on 2016-08-23 [all 1 reports]




Maintainer's Corner

For package maintainers and hackage trustees

Readme for diagrams-canvas

Readme for diagrams-canvas-


diagrams-canvas is a canvas backend for diagrams based on the blank-canvas package. Diagrams is a powerful, flexible, declarative domain-specific language for creating vector graphics, using the Haskell programming language. It supports most features defined in diagrams-lib.


cabal update && cabal install diagrams-canvas


A simple example that uses diagrams-canvas to draw a square.

import Diagrams.Prelude
import Diagrams.Backend.Canvas.CmdLine

b1 = square 20 # lw 0.002

main = mainWith (pad 1.1 b1)

Save this to file named Square.hs and compile this program:

ghc --make -threaded Square.hs

This will generate an executable which, when run dispays the resulting diagrams to http://localhost:3000/

$ ./Square -w 750