[comp.lang.scheme] Standard Scheme bindings for C and X11

greg@vis.UUCP (07/10/90)

I should clarify my earlier submission because people have been
writing me about the ``right way'' to interface Scheme to X11.  I'm
pretty certain now that we're not going to agree on the right way for
awhile.  Most systems will want to use OOP, but we still lack
consensus on the right way to do that.  New and exciting abstractions
using streams, coroutines, engines, etc. will be applied to elegant
display control and I do not want to discourage that.

We urgently need an interim, stable, low level interface to X11 so
that we can write programs that simply need a decent user interface.
Until Scheme programmers can write display code as confidently as C
programmers, Scheme programs won't be at all portable, despite careful
adherence to the R^N report.  Such a low level interface would also
make it easier to  experiment with higher level mechanisms and the
``right way''.

I don't think that this X11 situation is unique.  Standard bindings
are carefully defined for graphics systems, database systems, system
calls, RPC, etc., in only a few languages, usually including C.  Also,
lots of people do their low level programming in C but want to do
their high level programming in Scheme.  If we had a standard way of
mapping between Scheme and C data structures that let us call C
functions freely from Scheme we could feel free to use Scheme for any
software project.  People would use Scheme more.

So far as I know, only cdecl, which is part of the free Scheme->C
system from decwrl, provides this functionality automatically.  I
think that incorporating such a mechanism into the next R^N Scheme
should receive high priority.  What do you all think?  Is this wanted
and needed?

_Greg


J. Greg Davidson			  Virtual Infinity Systems
+1 (619) 452-8059        6231 Branting St; San Diego, CA 92122 USA
 
greg@vis.com				ucbvax--| telesoft--|
vis!greg@nosc.mil			decvax--+---ucsd----+--vis
vis!greg@ucsd.edu		 	 ihnp4--|   nosc----|