Musings on an Erlang GUI System.

Helmut Heinze <>
Sat Feb 15 01:48:06 CET 2003

Daer all,

Eric Merritt <> writes:

> > What I'd like to see is *one* page description
> > language that can be
> > used for making GUIs AND pages of printed text.

what about using DSSSL flow objects for the *logical* description of
(2D) page layout? At least that's what DSSSL is all about. The flow
object tree then has to be run through a formatter taking care of the
line breaking, page breaking and other, more subtle stuff such as
spacing, hyphenation, ligatures etc. The result is a device
independent layout description of actual areas (in PDF, PostScript
TeX's dvi format or whatever), ready for rendering.
For interactive use, the existing flow objects could be extended with 
call-back information or additinal flow object could be defined.

Implementing (at least a small subset of) DSSSL in Erlang is not too
difficult (I am tinkering with a prototype for a content management
system, just a few lines in a gen_server stuff as a DSSSL engine +
DSSSL'ish erlang modules as style sheets curried with a bit of
object-orientation have come to live and seem to work well -- I am
happy to release the code once it has matured a bit).

> > I'm currently thinking about the "high quality paper
> > output" stuff,
> > and have written quite a bit of code to do
> > line-breaking, kerning etc.

The hard bit is the formatter. Yet I have the feeling that is is
possible to write a formatter in Erlang that can deliver in realtime
for on-line interaction and off-line for high-quality print (for
on-line use, one would switch of some advanced features such as
hyphenation, kerning (?) and perhaps (?) ligatures to keep processing
time down).  I would look at the TeX formatter to get an idea about
how to produce high quality layout (the whole thing about hboxes,
vboxes, glue space and demerit points) to get the basics right. This
formatter could be 'scalable' in the sense that the quality of output
can be chosen in dependence of the requirements and processing
recources. This includes the number of iterations to come up with the
best spacings within a block of text (TeX seeks to distribute spacings
within a paragraph according to fairly complex aesthetic rules at the
cost of many iterations over the same input).

> > I'd very much like to see a re-unification of
> > typography and GUIs
> > resulting in very high quality printed output and
> > beautiful GUIs with
> > *one* way of describing them.

Me too.


Dr. Helmut Heinze
School of Languages, Cultures & Linguistics
German Studies Programme
Monash University
PO Box 11A
Victoria 3800

Phone: +61 (3) 9905 8391
FAX:   +61 (3) 9905 5251

More information about the erlang-questions mailing list