ANNOUNCE: Haven - A Functional Vector Graphics Library

Antony Courtney
Mon, 04 Mar 2002 09:07:42 -0500

I am pleased to announce an experimental release of Haven,
a library for scalable vector graphics in Haskell.

Haven provides a wealth of features, including:
   - Data types for common geometric shapes such as rectangles,
     ellipses and Bezier curves.
   - Composition of arbitrary shapes from sequences of straight
     and curved segments.
   - Intersection tests and bounds calculations on shapes.
   - Cropping of any image by any shape.
   - Affine transformations on images and paths.
   - Calculation of precise rectangular bounds of shapes and images.
   - High quality, anti-aliased rendering.
   - Scalable outline fonts.
   - Smooth blending of colors (gradients)
   - Alpha blending (transparency).
   - Fine-grained control of stroke width, join rules and end caps.
   - Constructive Area Geometry (CAG) for composing shapes using simple
     set-theoretic operations.

Haven presents a purely functional API, but is implemented using the
Java2D renderer.  For more information on Haven, including examples
and download instructions, please visit the haven web page at:

Please send suggestions and bug reports to:


   Release 1.1 (03-March-2002):
     * Substantial improvements to configuration and build process.
       Unified Makefile structure for Linux and Windows using Cygwin
       and GNU make.

Antony Courtney
Grad. Student, Dept. of Computer Science, Yale University