[comp.lang.ada] X-binding for Ada

pja@bcrkd11.bnr.ca (P. Attfield) (10/01/90)

Hi;
    I  have  recently found  myself  in need  of a  source  for an Ada
binding of X11. Could  someone please direct  me to  an  anonymous ftp
site...     Thanks in  advance. 

    BTW:   please reply by e-mail  to  "janick@bnr.ca" since  I do not
normally read this group.

P. Attfield
Bell-Northern Research Ltd
PO Box 3511, 
Station C
Ottawa, Ontario, Canada
K1Y 4H7

ejh@sei.cmu.edu (Erik Hardy) (10/12/90)

Recently, folks have been asking for an Ada binding to X. While we don't have
that specific thing, we do provide something even better. Serpent separates
the layers in an application system, so that the application portion (which
can be written in Ada) is separated from the user interface portion, allowing
one to pick the UI toolkit deemed appropriate. Here is the original
announcement. A fix will be coming out soon, so keep your eyes peeled on
xpert (comp.windows.x) for the fix announcement.

Erik Hardy
SEI/User Interface Project

------------------------------------------------------------------------------

The  Software  Engineering  Institute  announces  the  Serpent  User Interface
Management System, Alpha Release 0.9.  Serpent is available via anonymous  ftp
from  fg.sei.cmu.edu  (128.237.2.163) and can be found in /pub/serpent.  There
is a small README file and a  large  (~2.6  MB)  compressed  tar  file  called
serpent.tar.Z.  See the README file to get started.

Serpent is also available on expo.lcs.mit.edu (18.30.0.212) in /contrib. It is
also called serpent.tar.Z, but the README file is named serpent.README.

Serpent Alpha Release 0.9 represents a significant change over  Alpha  Release
0.8,  in  terms  of  enhanced  capabilities,  the addition of the entire Motif
Widget set, significant performance  improvements,  a  universal  input/output
technology integrator, and the Serpent Editor.  There are also some new Athena
and Motif demonstrations.

Serpent represents a new generation of User Interface Management Systems which
manage the total dynamic behavior of an interface and which allow applications
to remain uninvolved with the details of the user interface.

Serpent is a UIMS which is designed to manage the  specification  and  dynamic
behavior  of  (relatively)  arbitrary  toolkits.    It  provides  for  a fixed
application programmer interface across changes in toolkits.  This  allows  an
application  to evolve from one toolkit to another, and Serpent manages all of
the interactions between the toolkits.

There is a language which is used to  describe  the  user  interface  and  its
dynamic  behavior.   There is an editor which allows the interface to be built
using standard type drawing facilities.   The  language  is  very  simple  for
specifying  simple interfaces ("Hello World" under Athena is reproduced in its
entirety following the text) and is powerful enough to provide for drawing and
visual   programming   demonstrations  (both  are  included  in  the  released
software).

Serpent is intended to be used either with an  application  (in  a  production
environment)  or without an application (in a prototyping environment).  There
is an interface description language used both by the application to  describe
its  interface  to  Serpent and by the toolkits to describe their interface to
Serpent.  Applications and toolkits written in either C or  Ada  can  be  used
with  Serpent,  although the interface description mechanism is designed to be
extensible to other languages.

The Hello World program is:

#include "sat.ill"

|||

OBJECTS:
   hello: label_widget
      {ATTRIBUTES:
        label_text: "Hello world";
        }

The following people contributed to the development of Serpent:

Len Bass
Mary Beth Chrissis
Brian Clapper
Chris Cook
Marianne Deacon
Erik Hardy
Rick Kazman
Dan Klein
Reed Little
Tim McMahon
Roger Moos
Marc Pottier
Robert Seacord