Go to the first, previous, next, last section, table of contents.
This is a short an as-yet uncomplete overview of the different parts of
Haggis.
Core framework for building user interface components.
-
The main part of Haggis is a simple core for describing and combining UI
components together. The core consist of a basic abstraction for
displaying graphical output, the Glyph, a common representation for
UI components, DisplayHandles, plus a set of basic combinators that
builds new components by encapsulating existing ones.
Using this simple core, interactive component can be created by
composing existing ones together.
User interface abstractions.
-
A relatively large set of common user interface abstractions are
provided with Haggis, i.e., components such as buttons, sliders, text
fields etc. These components have been constructed using the Haggis
core.
A simple structured graphics model.
-
Graphical output is described using the type Picture, a data type
implementing a simple, two dimensional structured graphics
model. Picture values can be transformed and combined together to
form `larger' Pictures. The Picture is converted into actual
drawing commands by the Glyph abstraction.
A set of high level window system abstractions.
-
To isolate the programmer from the underlying window system, X11, its
services have been packaged up in a manner that tries to minimise any
bias towards X11. The benefit of abstracting away from the peculiarities
of the specifics of X11, is that the programmer does not have to be
concerned with X11 concepts at all(?), and an eventual port of Haggis to
a non-X11 window system becomes easier.
A complete Haskell binding to Xlib.
-
To interface Haggis with the X Window System, a nearly complete binding
to Xlib, the C language interface to X11, had to be constructed.
Go to the first, previous, next, last section, table of contents.