Vg is an OCaml module for declarative 2D vector graphics. In Vg, images are values that denote functions mapping points of the cartesian plane to colors. The module provides combinators to define and compose these values.

Renderers for PDF, SVG and the HTML canvas are distributed with the module. An API allows to implement new renderers.

Vg depends only on Gg. The SVG renderer has no dependency, the PDF renderer depends on Uutf and Otfm, the HTML canvas renderer depends on js_of_ocaml. Vg and its renderers are distributed under the ISC license.

Sample images from Vg's image database of tests.

Talk about Vg.