[Haskell-cafe] ANNOUNCE: Diagrams 1.0
byorgey at seas.upenn.edu
Fri Jan 17 21:57:19 UTC 2014
The diagrams team is very pleased to announce the 1.0 release of
diagrams , a framework and embedded domain-specific language for
declarative drawing in Haskell. Check out the gallery  for some
examples of what it can do. Diagrams can be used for a wide range of
purposes, from data visualization  to illustration  to art ,
and diagrams code can be seamlessly embedded in blog posts , LaTeX
documents , and Haddock documentation , making it easy to
incorporate diagrams into your documents with minimal extra work.
Brent recently gave a talk at the New York Haskell Users' Group 
presenting the new release. You can find videos of the talk on vimeo:
part 1 presents a basic introduction to the library , and part 2
talks about mathematical abstraction and DSL design . The slides are
also available .
This release includes a number of significant new features and
improvements. Highlights include:
- Support for drawing arrows between given points or between diagrams,
with many options for customization (tutorial , documentation
, API ).
- A new framework for creating custom command-line-driven executables
for diagram generation (tutorial , API ).
- Offsets of trails and paths, i.e. compute the trail or path lying a
constant distance from the given one (documentation , API ).
- A new API, based on Metafont, for constructing cubic splines with
control over things like tangents and "tension" (tutorial , API
- Tangent and normal vectors of segments and trails (API ).
- Alignment can now be done by trace in addition to envelope (API
- The lens  package is now used consistently for record fields
throughout the library (documentation ).
- Across-the-board improvements in performance and size of generated
See the release notes  for full details, and the migration guide
 for help porting your diagrams 0.7 code to work with diagrams 1.0.
Try it out
For the truly impatient:
cabal install diagrams
Diagrams is supported under GHC 7.4 and 7.6.
To get started, read the quick start tutorial , which will introduce
you to the fundamentals of the framework and provide links for further
For those who are less impatient and want to really dig in and use the
power features, read the extensive user manual . There is also a
growing collection of tutorials  on specific topics.
Diagrams has a friendly and growing community of users and developers.
To connect with the community, subscribe to the project mailing list
, and/or come hang out in the #diagrams IRC channel on freenode.org
for help and discussion. Development continues stronger than ever, and
there are a wide range of projects available for new contributors of all
levels of Haskell skill. Make some diagrams. Fix some bugs . Submit
your cool examples for inclusion in the gallery  or your cool code
for inclusion in the diagrams-contrib  package.
Brought to you by the diagrams team:
- Daniel Bergey
- Jeff Rosenbluth
- Ryan Yates
- Brent Yorgey
with contributions from:
- Jan Bracker
- Conal Elliott
- Daniil Frumin
- Sam Griffin
- Niklas Haas
- Peter Hall
- Claude Heiland-Allen
- Deepak Jois
- John Lato
- Felipe Lessa
- Chris Mears
- Ian Ross
- Carlos Scheidegger
- Vilhelm Sjöberg
- Michael Sloan
- Jim Snavely
- Luite Stegeman
- Kanchalai Suveepattananont
- Michael Thompson
- Scott Walck
More information about the Haskell-Cafe