This is an almost-direct port of elm-vega (http://package.elm-lang.org/packages/gicentre/elm-vega/2.2.1) to Haskell.

graphics, library, Propose Tags , Graphics.Vega.VegaLite, Vega-Lite, Elm Vega library, Elm Vega documentation, Vega-Lite Example Gallery, IHaskell notebook, ipynb viewer, JupyterWith environment, notebooks directory, Elm Vega
cabal install hvega-



Contains the hvega module for creating Vega-Lite visualizations in Haskell, and the ihaskell-hvega module for viewing these visualizations in IHaskell notebooks.

This code is released under the BSD3 license.

It is an almost-direct copy of version 2.2.1 of the Elm Vega library, which is released under a BSD3 license by Jo Wood of the giCentre at the City University of London.


The packages are available on hackage:

There is a top-level stack.yaml which builds both hvega and ihaskell-hvega using Stack. There is also a shell.nix file for development with Nix, although this is not guaranteed to work as I have not yet fully integrated Nix into my life.

Hopefully it will appear on Stackage soon (see issue #2).


This would be nice. The IHaskell notebook notebooks/VegaLiteGallery.ipynb is used as a manual test case, but automated tests would be ideal.

There is also a Data Haskell example notebook.


I created this as a piece of procrastination, while procrastinating with a different task. At present I am not using it, due to lack of time. Please pop on over to GitHub, or ping me on Twitter @doug_burke if you would like to help.