Difference between revisions of "Diagrams"

From HaskellWiki
Jump to navigation Jump to search
(link to 1.1 -> 1.2 migration page)
(94 intermediate revisions by 5 users not shown)
Line 1: Line 1:
  +
[[Category:Graphics]]
The '''diagrams''' library provides an embedded domain-specific language (EDSL) for creating simple pictures and diagrams in Haskell
 
  +
[[Category:Libraries]]
  +
[[Category:Packages]]
   
  +
[[Image:Diagrams-logo.png]]
* [http://code.haskell.org/diagrams/ Homepage]
 
* [http://hackage.haskell.org/cgi-bin/hackage-scripts/package/diagrams diagrams on HackageDB]
 
   
 
The [http://projects.haskell.org/diagrams diagrams framework] provides an embedded domain-specific language (EDSL) for declarative drawing.
   
  +
This is the diagrams wiki, for collecting tips and tricks, examples, information about related projects, and any other related information. If you are looking for more structured documentation (tutorial, user manual, API reference), see the [http://projects.haskell.org/diagrams diagrams web page]. There are also [https://github.com/diagrams/diagrams-lib/issues?state=open bug] [https://github.com/diagrams/diagrams-core/issues?state=open trackers] for different parts of the project.
== Ideas for the rewrite ==
 
   
  +
* [[/FAQ|Frequently asked questions]]
Many Haskell graphic libraries are tied to a specific rendering backend (Cairo, OpenGL, libGD etc) which makes collaboration and reuse of code and data strcutreus very hard or impossible.
 
  +
* [[/Install|Installation instructions]]
  +
* [[/Contributing|How to contribute]]
  +
* [[/Projects|Projects]]: who is working on what.
  +
* [[/GSoC|Google Summer of Code projects]]
   
  +
* [[/Dev/Migrate0.7|0.6 to 0.7 migration]]: Description of API changes that may affect diagrams 0.6 code, with explanations of how to migrate to 0.7
A rewrite of diagrams should include separate packages for:
 
  +
* [[/Dev/Migrate1.0|0.7 to 1.0 migration]]: Description of API changes that may affect diagrams 0.7 code, with explanations of how to migrate to 1.0
* high-level code (constraint solving)
 
  +
* [[/Dev/Migrate1.1|1.0 to 1.1 migration]]: Description of API changes that may affect diagrams 1.0 code, with explanations of how to migrate to 1.1
* low-level graphical primitives (rectangles, polygons, paths, etc)
 
  +
* [[/Dev/Migrate1.2|1.1 to 1.2 migration]]: Description of API changes that may affect diagrams 1.1 code, with explanations of how to migrate to 1.2
** imho there should be primitive shape typeclass like circles and rectangles having a "convertToPath" function. Backends like SVG can then choose to use a primitive like a rectangle as a polygon or a rectangle
 
  +
* conversion backends
 
  +
* [[/Dev|Developer wiki]]: notes on wanted features, style guidelines, best practices, etc.
** interactive painting via Cairo
 
  +
** pure Haskell PDF conversion via HPDF
 
  +
* [[/Dev/BuildStatus|Build status]] of all diagrams packages at a glance.
** pure Haskell PNG conversion via ???
 
  +
* [http://projects.haskell.org/diagrams/backend-tests/all-index.html Current test case results for backends side-by-side.]
** etc.
 

Revision as of 13:56, 3 June 2014


Diagrams-logo.png

The diagrams framework provides an embedded domain-specific language (EDSL) for declarative drawing.

This is the diagrams wiki, for collecting tips and tricks, examples, information about related projects, and any other related information. If you are looking for more structured documentation (tutorial, user manual, API reference), see the diagrams web page. There are also bug trackers for different parts of the project.

  • 0.6 to 0.7 migration: Description of API changes that may affect diagrams 0.6 code, with explanations of how to migrate to 0.7
  • 0.7 to 1.0 migration: Description of API changes that may affect diagrams 0.7 code, with explanations of how to migrate to 1.0
  • 1.0 to 1.1 migration: Description of API changes that may affect diagrams 1.0 code, with explanations of how to migrate to 1.1
  • 1.1 to 1.2 migration: Description of API changes that may affect diagrams 1.1 code, with explanations of how to migrate to 1.2
  • Developer wiki: notes on wanted features, style guidelines, best practices, etc.