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----|