From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on polar.synack.me X-Spam-Level: ** X-Spam-Status: No, score=2.1 required=5.0 tests=BAYES_05,INVALID_DATE, MSGID_SHORT,REPLYTO_WITHOUT_TO_CC autolearn=no autolearn_force=no version=3.4.4 Path: utzoo!utgpu!news-server.csri.toronto.edu!cs.utexas.edu!tut.cis.ohio-state.edu!pt.cs.cmu.edu!sei!ejh From: ejh@sei.cmu.edu (Erik Hardy) Newsgroups: comp.lang.ada Subject: Re: X-binding for Ada Keywords: X11, X-windows Message-ID: <9005@fy.sei.cmu.edu> Date: 12 Oct 90 04:18:17 GMT Reply-To: erik@sei.cmu.edu (Erik Hardy) Organization: Software Engineering Institute, Pittsburgh, PA List-Id: 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