Path: utzoo!utgpu!water!watmath!clyde!att!osu-cis!tut.cis.ohio-state.edu!bloom-beacon!TUB.BITNET!net
From: net@TUB.BITNET (Oliver Laumann)
Newsgroups: comp.windows.x
Subject: Re: X11 Bindings for Scheme
Message-ID: <8806221117.AA03901@tub.UUCP>
Date: 22 Jun 88 11:17:59 GMT
Sender: daemon@bloom-beacon.MIT.EDU
Organization: The Internet
Lines: 39

> Subject: X11 Bindings for Scheme

> I don't suppose anyone has done this yet?

The question is wrong; you have not said what you mean by ``Scheme''.

If you mean the language that is defined by the (de-facto) standard
``Revised^3 Report on the Algorithmic Language Scheme'', then the
answer is certainly ``no''.  The standard does not define, for
instance, how foreign language functions can be called from within
Scheme (you would need this for an interface to the Xlib), or how
a 32-bit value can be read from a socket (which would be needed when
the Xlib is by-passed; CLX does this).

If by ``Scheme'' you mean MIT-Scheme (C-Scheme), then the answer is
``I don't know''.  But from what I have read in a Scheme mailing list,
I assume that the MIT-Scheme implementors are having lots of other, more
important work items in their queue.

If by ``Scheme'' you mean ``any implementation of Scheme'', then the
answer is ``Yes, someone has done this'', for instance, I am currently
working on such an integration (it's nearly finished).  I am doing this
for my own Scheme interpreter (which accepts a superset of the Scheme
defined by the R^3RS); since this involves non-portable language features
it would probably be of no value for someone who doesn't also have that
particluar Scheme implementation.  The functions provided by the
X11/Scheme integration are roughly equivalent to those offered by
CLX (but, of course, more Scheme-oriented, e.g. no setf functions,
no :keywords, etc.).

If someone is interested in details, just send me a letter.
Needless to say, I would also like to hear from people who are doing
or have done an X11/Scheme integration for any Scheme implementation.

--
Regards,
    Oliver Laumann, Technical University of Berlin, Germany.
    ...!pyramid!tub!net   or   net@TUB.BITNET
    ...!mcvax!unido!tub!net