|
What's new
There are several major extensions to Vital since the last release (May 04):
- Animation
- The
Pic datatype (of pictures) now includes constructors that allow
animated pictures:
- the
Animation constructor takes a picture-valued function on
the integers and displays a stateless animation (for example,
a scrolling waveform);
- the
Interaction constructor takes a function describing
a finite-state machine and displays a statefull animation (for
example, an arcade game).
- Type classes
- A (simplified) version of the Haskell type class mechanism is now incorporated. In addition
to supporting (most of) the conventional uses of type classes, it allows (via the
Edit
type class) a default style to be be associated with each datatype, thus avoiding
the need for the user to associate a style with each expression explicitly.
- Display and direct manipulation of ADTs
- A new, wired-in type class,
Edit has been introduced that supports the direct
manipulation of ADT values. In particular, it allows the user to define an association
between mouse gestures (menu selection, etc) and an arbitrary set of operations to be
performed on an ADT. These operations operate not directly on the value itself but rather on the Haskell source
code that defines the value (thus ensuring that any changes made are persistent).
This mechanism supplements and generalises
the earlier form of Copy/Paste direct manipulation that applied only to values of concrete datatypes.
- Midi music
- Facilities have been added to allow Midi sequences to be composed and to be played.
- Actions
- A simplied form of actions (ie, values of type
IO ()) has been added
to allow events to be trigged by button-presses or by timed delays. In particular, this
allows for files to be output and for the playing of Midi sequences to be initiated.
There are also a number of minor extensions and revisions to the system (as listed in
the version history), and also
a collection of interactive documents illustrating the new features.
| Feedback on any aspect of Vital is welcome. |
Updated Jan 05 |
|