[Haskell-cafe] ANNOUNCE: preview release of diagrams EDSL for declarative drawing

2011-05-17 Thread Brent Yorgey
I am extremely pleased to announce a developer preview release of the
diagrams framework [1] for declarative drawing. This is a
well-thought-out, well-documented, working release with all core
functionality in place, but with many planned features still missing
(for example, support for rendering text and higher-level tools for
constructing curves). If you are interested in

-   trying out a new way of producing vector graphics,

-   providing feedback to help drive ongoing development, or

-   getting involved and contributing some code yourself,

please give it a try! On the other hand, if you are looking for a
complete, full-featured package that will let you jump right into
producing the graphics you need, you may want to wait for the 1.0
release.

If you are familiar with the diagrams package [2] already on Hackage,
this is a complete rewrite which has been in the works for over a year
and a half.

What is it?
---

Diagrams is an embedded domain-specific library (EDSL) for creating
diagrams, illustrations, and other sorts of vector graphics. The overall
vision is for diagrams to become a viable alternative to systems like
MetaPost, Asymptote, and PGF/TikZ.

Diagrams is:

-   Declarative: you specify what a diagram is, not how to draw it.

-   Compositional: diagrams can be combined in many ways to produce more
complex diagrams. Diagrams are scale- and translation-invariant, so
you never have to worry about a global coordinate system, only
local ones.

-   Embedded: the full power of Haskell, including every library on
Hackage, is available to help construct and manipulate diagrams.

-   Extensible: extending diagrams with additional or higher-level
functionality is as simple as writing a Haskell module.

-   Flexible: diagrams is designed from the ground up to be as generic
and flexible as possible. Features include:

-   Pluggable rendering backends -- creating a new rendering backend
is as simple as writing a type class instance.

-   Arbitrary vector spaces -- the core diagrams library data types
and primitives work for any vector space, so given a suitable
rendering backend you can produce diagrams of any dimension, or
even more exotic things...

Cool, how can I try it out?
---

Start by reading the quick tutorial [3], which has detailed information
about how to install the necessary packages and will introduce you to
the fundamentals of the framework.

Or, for the truly impatient:

cabal install diagrams-core diagrams-lib diagrams-cairo

How can I contribute?
-

There are lots of ways you can contribute! First, you may want to
subscribe to the project mailing list [4], and/or come hang out in the
#diagrams IRC channel on freenode.org.

-   Cairo is the only well-supported backend at the moment, but you
might create another backend or contribute to an existing project
[5].

-   The standard library is in need of additional features. Visit the
Google Code site [6] for a list of open tickets.

-   Create a higher-level module built on top of the diagrams framework
(e.g. tree or graph layout, generating Turing machine configuration
diagrams, Penrose tilings ... your imagination is the only limit!)
and submit it for inclusion in a special diagrams-contrib package
which will be created for such higher-level user-contributed
modules.

-   Use diagrams to create some cool graphics and submit them for
inclusion in a gallery of examples (to be created soon).

-   Start your own project built on top of diagrams and let us know how
it goes!

-   Last but certainly not least, just try it out for your pet graphics
generation needs and contribute your bug reports and feature
requests.

Happy diagramming!

Brought to you by the diagrams team:

-   Brent Yorgey
-   Ryan Yates

with contributions from:

-   Sam Griffin
-   Vilhelm Sjöberg
-   Luite Stegeman
-   Kanchalai Suveepattananont
-   Scott Walck

[1] http://code.google.com/p/diagrams/  
[2] http://hackage.haskell.org/package/diagrams  
[3] http://projects.haskell.org/diagrams/tutorial/DiagramsTutorial.html  
[4] http://groups.google.com/group/diagrams-discuss  
[5] http://code.google.com/p/diagrams/wiki/BackendProjects  
[6] http://code.google.com/p/diagrams/

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: preview release of diagrams EDSL for declarative drawing

2011-05-17 Thread Stephen Tetley
Cool.

On 17 May 2011 16:42, Brent Yorgey byor...@seas.upenn.edu wrote:

 -   Create a higher-level module built on top of the diagrams framework
    (e.g. tree or graph layout, generating Turing machine configuration
    diagrams, Penrose tilings ... your imagination is the only limit!)
    and submit it for inclusion in a special diagrams-contrib package
    which will be created for such higher-level user-contributed
    modules.


Wumpus-Tree has a variant of Andrew Kennedy's [1] tree layout
algorithm which you might like to take the code from, unlike the paper
it uses absolute extents rather than relative ones.

The actual tree design code is quite straight forward (the other code
is tangled up with Wumpus administrivia):

http://hackage.haskell.org/packages/archive/wumpus-tree/0.9.0/doc/html/src/Wumpus-Tree-Design.html

[1] Functional Pearl: Drawing Trees
http://research.microsoft.com/en-us/um/people/akenn/fun/DrawingTrees.pdf

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: preview release of diagrams EDSL for declarative drawing

2011-05-17 Thread Warren Henning
Can we see some examples of the graphics it can produce?

On Tue, May 17, 2011 at 8:42 AM, Brent Yorgey byor...@seas.upenn.edu wrote:
 I am extremely pleased to announce a developer preview release of the
 diagrams framework [1] for declarative drawing. This is a
 well-thought-out, well-documented, working release with all core
 functionality in place, but with many planned features still missing
 (for example, support for rendering text and higher-level tools for
 constructing curves). If you are interested in

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe


Re: [Haskell-cafe] ANNOUNCE: preview release of diagrams EDSL for declarative drawing

2011-05-17 Thread Brent Yorgey
An excellent question!  There are a couple examples in my blog post:

  http://byorgey.wordpress.com/2011/05/17/announcing-diagrams-preview-release/

In the next few days I hope to set up a web site with a gallery of
more examples.

-Brent

On Tue, May 17, 2011 at 10:31:29AM -0700, Warren Henning wrote:
 Can we see some examples of the graphics it can produce?
 
 On Tue, May 17, 2011 at 8:42 AM, Brent Yorgey byor...@seas.upenn.edu wrote:
  I am extremely pleased to announce a developer preview release of the
  diagrams framework [1] for declarative drawing. This is a
  well-thought-out, well-documented, working release with all core
  functionality in place, but with many planned features still missing
  (for example, support for rendering text and higher-level tools for
  constructing curves). If you are interested in
 
 ___
 Haskell-Cafe mailing list
 Haskell-Cafe@haskell.org
 http://www.haskell.org/mailman/listinfo/haskell-cafe

___
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe