[Haskell] New release of Vital
Keith Hanna
F.K.Hanna at kent.ac.uk
Wed May 5 22:17:46 EDT 2004
I am happy to announce a new release of Vital, a document-centered
implementation of Haskell. Recently additioins include:
* Hyperlinks, that provide an easy way of navigating between Vital
documents;
* Some new Vital documents, including a tutorial presentation of approaches
to Exact Real Arithmetic (illustrating the infinite decimal expansion of pi,
based upon Jerzy Karczmarczuk's philosophical musings on the subject and
Jeremy Gibbon's recently discovered "spigot" algorithms);
* A new website with lots of supporting materials.
And, of course, there is the usual tidying-up of loose ends.
The home page for Vital is at:
http://www.cs.kent.ac.uk/projects/vital/
As before, the Vital system can be run via the web.
Enjoy!
Keith Hanna
Univ of Kent, UK
----------------------------------------------------------------------------
Vital is a document-centered implementation of [a subset of] Haskell. 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 gui in which programs and results are presented
together, and solutions to problems can be incrementally developed.
Vital may also be useful in teaching/demonstrating some of the principles of
functional programming.
The main features of the Vital approach are:
* Haskell modules are presented as 'documents'. A document is a free-format
collection of declarations and expressions with their values shown
alongside.
* Documents may be developed interactively and (like a spreadsheet) are
'live' in the sense that any change to a document automatically results in
dependent values being updated.
* Hyperlinked comments provide an easy means for a user to navigate between
related documents.
* Data structures may be displayed in diagrammatic form by associating
'styles' with their declarations. For example, a value of a Tree datatype
may be graphically displayed as a tree.
* Styles are ordinary Haskell values. Definitions for styles may be gathered
together as a 'stylesheet', itself an ordinary module.
* Documents are notionally unbounded in extent and may be panned, allowing
any region of a large or infinite data structure to be displayed.
* 'Direct manipulation' of diagrammatically-displayed data structures is
supported (with changes being reflected back into the Haskell source code).
For example, using mouse gestures, a subtree of a tree may be selected,
copied to the clipboard and subsequently pasted into another node of a tree.
* Images ( both bit-mapped and synthetic) may be displayed.
* Documents may be saved as ordinary Haskell text files (with layout data,
etc. embedded in comments).
At present, the Vital system supports only a subset of Haskell and
type-checking is carried out dynamically (ie, at run time) -- but watch this
space for forthcoming work on static type checking and type classes.
More information about the Haskell
mailing list