![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
GUIs in PrologAppeared in Volume 7/1, February 1994
I'm looking for a graphical user interfaces (GUIs) written in Prolog. Are there any commercial or public domain GUIs out there? The kind of thing I'm looking for was once offered by Quintus and was called ProWindows; they no longer sell it however.
jan@swi.psy.uva.nl
Jan Wielemaker
14th September 1993
There are various alternatives around. Xwip is an example of a low-level X11 interface with interfaces to various Prolog systems.
ProWindows is an offspring of PCE developed by Anjo Anjewierden and myself at the University of Amsterdam. We continued the development of this package which now runs under X11, supports the creation of (X)PCE classes from Prolog, etc. The current version is 4.5 and runs with SICStus Prolog, SWI-Prolog, Lucid CommonLisp and Harlequin LispWorks.
XPCE compiles on SunOs 4.1.x, 5.2.x, AIX 3.2, Iris, HPUX and PC/Linux. AIIL
(UK) is considering a Quintus version. Contact sheywood@aiil.co.uk (Simon
Heywood) for details. Documentation and further info is available using
anonymous FTP to:
ftp://swi.psy.uva.nl/pub/xpce
A free version for PC/Linux is
available from there too.
cxr@dslogics.it
Cristina Ruggieri
16th September 1993
APPEAL 2.1 is an interface and language to program X Toolkit applications in SICStus Prolog. APPEAL is the industrial release of the Alpes X-Prolog interface developed by UNL and DS logics researchers in the course of Esprit Project P973.
APPEAL enables a Prolog programmer to develop graphic applications working on top of the X-Window Intrinsics (Xt), APPEAL directly supports Motif 1.* and Athena widget sets, plus a few home-made widgets (including a very useful picture widget).
APPEAL provides a high-level declarative syntax, called WDL (Widget Description Language) which can be used to specify windows with complex graphical layouts, without the need to take care of all the low-level details of X.
As a simple example of WDL programming flavor, here is the specification of 'Hello World' in APPEAL (using Athena widgets):
shell widget hello :-
applicationShell / title(hi) -
[
label / label('Hello World')
].
helloWorld :-
shell widget hello.
The goal helloWorld/0 makes the widget hello appear on the screen. Nothing else
(toolkit initializations, widget realization, event loops, etc) is needed. Of
course all the Intrinsics functions are accessible by the programmer, in case
more control over these aspects of a graphic application is needed.
For more information, send email to:
appeal@dslogics.it
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |
![]() |