From HaskellWiki
< Diagrams
Revision as of 21:34, 6 November 2012 by Byorgey (talk | contribs) (Potential projects: note idea about extra intensional info for envelopes)

Jump to: navigation, search

Potential projects

Looking for something to work on? Try one of these!

  • Figure out an infrastructure for including animations in the gallery and/or user manual
  • Improvements to paths: lengthening/shortening, arrowheads, etc.
  • Controlled creation of splines using an API like the one in MetaPost.
  • Build some example animations.
  • Add extra intensional information to help do a better job with combining envelopes? e.g. inner and outer bounding boxes, circles, etc. e.g. if the outer bound of one lies completely inside the inner bound of another, the resulting combined envelope can be optimized to not actually do a max operation.



Officially supported backend using cairo.

  • github repo
  • Status: active development
  • Participants: Brent Yorgey, Ryan Yates

Native SVG

A Haskell-native backend generating SVG. The intention is for this to eventually replace cairo as the "out-of-the-box" diagrams backend.

  • hackage
  • github repo
  • Status: active development
  • Participants: Deepak Jois, Ryan Yates, Felipe Lessa, Brent Yorgey

Native Postscript

Very similar to the Cairo backend but only outputting EPS.

  • github repo
  • Status: active development
  • Participants: Ryan Yates

HTML5 canvas


  • original darcs repo by Scott Walck
  • updated version by Malte Harder on github
  • Status: active development
  • Participants: Scott Walck, Malte Harder


A POV-Ray backend for 3D diagrams.

  • github repo
  • Status: proof of concept only, needs someone to take it over!

Wanted backends

  • OpenGL

Related packages and tools


See also an earlier project in a similar direction:

Build service

diagrams-builder is a library providing the ability to dynamically interpret diagrams code snippets, including utilities for creating temporary files etc. as needed. Useful for making preprocessing tools for embedding diagrams code in other document formats (e.g. LaTeX).


The SVGFonts package implements Haskell-native font support (for fonts in the SVG-font format) that can be plugged into diagrams.

Other projects


Michael Sloan's gtk-toy project is a framework for creating interactive gtk/cairo applications. gtk-toy-diagrams provides tools for using diagrams in conjunction with gtk-toy.


LaTeXGrapher is a project by Ryan Yates providing a domain-specific language for producing mathematical graphs, backed by the diagrams-postscript backend.

Deepak Jois is working on a logo interpreter written in Haskell, using diagrams as a backend.

Packages using diagrams