Musings on an Erlang GUI System.

Daniel Dudley <>
Mon Feb 17 19:09:17 CET 2003

Vlad Dumitrescu (EAW) wrote:

> >   I never said that it would be good  for a GUI to look the
> > same as on paper - I said I wanted  to use the same descriptive
> > language for both - I don't  want to have  to learn *two*
> > languages, one for  layout on paper the other for making GUIS -
> > I just want to lean one language.
> Ah, okay, now I see what you mean. Of course, it makes sense now!
> > 3) GUIs and paper involve the layout in 2 dimensions of various
> > things (text, lines, dots, ...) - I would like there to be 
> > *one* language for
> > describing 2D layouts - not several different languages.
> I understand what you say, but I can't help getting a feeling
> that there is some hidden issue here... can't put my finger on it
> though... maybe it's still me not getting it completely. I will
> borrow your braindump form of expression, maybe it's going to be
> comprehensible :-)
> <dump>
> How handle the concept of Z-order? "this thing is behind that
> one" - the layout is the same, but different aspect.
> What are the things layed out? Text, lines, dots -- they need to
> be grouped together too (even if there is no concept of
> "widgets"). Standard groups could be found in libraries, maybe
> modeling today's UIs.
> Probably groups/widgets will be used a lot as such, then the
> basic language will be hidden behind these higher-level
> abstractions. Since paper and screen will probably have different
> higher-level abstractions, then in practice there will be a
> diference anyway. Who will notice that it's the same ground-level
> language? 
> If one is using this language directly, won't that be like
> programming in Assembler? Higher levels are more fun (a personal
> opinion :-)
> </dump>

Isn't this what GUIs are all about? A language of user
choice communicates through the GUI to produce WYSIWYG
output on a logical device, be that the screen, printer or
file. A conversion factor needs to be applied when sending
output to the printer since this usually has a different
(usually higher) resolution than a monitor, perhaps
colouring needs to be adjusted or removed, and allowances
made for the printed page (sheet) size and hard and soft
margins. But basically the *same* output routine is used in
the user's host language (the program) for all logical
devices (on the WYSIWYG level). Special formatted data
output to a file (csv for example) requires special
routines in the program.

Apple and Microsoft have provided such GUIs for years. :-)


More information about the erlang-questions mailing list