Vital is a document-centered implementation of Haskell, a contemporary functional programming language. It aims to present Haskell in a form suitable for end users in application areas such as engineering, mathematics and finance who often need a combination of:

  • the expressiveness and robustness that languages like Haskell can provide, with
  • a 'live' document-centered interface in which programs and results are presented together.
It may also be useful in teaching functional programming.

A view of a Vital document The main features of the Vital approach are:

  • Document-centered presentation of Haskell programs and results
  • Demand-driven evaluation of expressions
  • Diagrammatic representation of data structures and ADTs
  • Graphics (including animation and interaction)
  • Direct manipulation of ADT values
  • Persistence

These features are described in the accompanying overview.

The Vital GUI

A screenshot of the Vital GUI is shown in this separate window.


The Vital system (which is implemented in Java) can be run via the web simply by clicking on the 'Run Vital via the web' link on the sidebar.
  • How does this work and is it safe?
It can also be installed and run as an ordinary application.

Getting started

This short tutorial explains how to use the system and explore its main feature.
Feedback on any aspect of Vital is welcome. Updated April 05