[comp.windows.x.motif] Common Lisp bindings for Motif

wolpers@.ira.uka.de (Andreas Wolpers) (01/31/91)

After bothering several individuals (without much
success) it seems that this is the last chance to
prevent us from a lot of boring work.

  Does anybody have Common Lisp bindings for Motif,

either finished or under development?


Andreas Wolpers
E-Mail: wolpers@ira.uka.de
phone:  49-721-608-3977
fax:    49-721-697760

Andreas Wolpers
E-Mail: wolpers@ira.uka.de
phone:  49-721-608-3977

tjhorton@vis.toronto.edu ("Timothy J. Horton") (02/02/91)

wolpers@.ira.uka.de (Andreas Wolpers) writes:
>After bothering several individuals (without much success) it seems that this
>is the last chance to prevent us from a lot of boring work.
>
>Does anybody have Common Lisp bindings for Motif,
>either finished or under development?

The answer is "clx" -- common lisp x bindings -- which have been around
for a long time (I used them over a year ago).  From the man page for
Allegro common lisp:


NAME
     cl - Allegro Common Lisp
SYNOPSIS
     cl [ options ... ]
DESCRIPTION
     Allegro CL is a complete implementation of Common  Lisp,  as
     specified in Common Lisp: the Language . The Allegro CL sys-
     tem consists of an interpreter, an optimizing compiler,  and
     a  set  of functions.

Associated Programs

...
     cw   is a version of lisp containing Allegro Common Windows,
          a  lisp-based,  high  level  window system, under the X
          Window System using CLX.
     clx  is a low-level interface to the X Window system  (basi-
          cally   a   lisp   version  of  Xlib).   Source  is  in
          /cs/src/cl/clx.  composer contains CLX.
     composer
          is a version of lisp  containing  Allegro  Composer,  a
          window-based program development environment.  Composer
          has a "windowized" inspector, debugger, profiler, and a
          status display of lisp processes.  Composer is built on
          Common Windows.
     clue is a portable system for user interface programming  in
          Common Lisp.  CLUE, which is based on the X Window Sys-
          tem and the Common Lisp Object System  (CLOS),  extends
          the CLX interface to provide an architectural model for
          building interactive Lisp  applications.   Modelled  on
          the  Xtk  toolkit library, CLUE could be described as a
          translation of the Xt "intrinsics" into the  domain  of
          Common  Lisp and CLOS.  Source and documentation are in
          /cs/src/cl/clue.
...

[remainder deleted]


-------------------------------------------------------------------------
Timothy Horton, Unix Software Consulting
tjhorton@vis.toronto.edu

toad@CS.CMU.EDU (Todd Kaufmann) (02/05/91)

Try CLM, from GMD (they're your neighbors).

This includes a toolkit demon (in C) that takes a widget description (with
callbacks), and forks a new process for each Motif application (which can
be just a single menu, or whatever).  Lisp can then continue running, with
a separate lightweight lisp process handling the connection & callbacks.

I've built CLM 1.0 (with Motif 1.0) for Allegro/sun4.

The newer CLM 2.0 runs with Motif 1.1; I just ported it to CMU CL on RT (it
had no support for this lisp--I had to fake multiple processes, but it
works fine).  It does support Allegro, Lucid, and looks like Genera and
explorer too.

I'm sure this is much less painful than hacking C..


In North America & net environs, CLM-2.0beta is available from
expo.lcs.mit.edu.

Since you're in Germany, you should write the project leader for more info:

   Andreas B\"acker <baecker@gmdzi.gmd.de>


With CLM 1.0 was a package called Gina, which includes an interface builder
that spits out lisp code.  You use a drawing-program -like interface to
place buttons, selections, lists, etc.  A new version of Gina should be
available shortly.


   Todd Kaufmann
   Center for Machine Translation
   CMU     412/ 268-7130