Subject: enhancements needed, resources for achieving them

From: [email-masked] (Don Cohen)
Date: Tue, 11 Jan 94 14:27:26 -0800

I've been discussing (via netmail) with Bruno and, more recently Marcus,
some enhancements to CLISP that we (at least I) think would be useful.
I thought it was time to open the discussion to a wider audience.
As the subject line indicates, it is not only useful to see what the
larger community desires, but also what resources are available for
achieving it.  Therefore I urge you to respond to this message not only
if you have opinions about how CLISP should be enhanced, but also if you
are capable and interested in contributing to the effort.  It seems that
there are several different sorts of human resources that would be useful:
lisp programming ability, C programming ability, and familiarity with
various operating systems.

Now on to the enhancements.  I'll start with the ones I've been hoping for.

- a good implementation of the stdwin library for DOS 
The current implementation only provides for one window - the full screen.
I'd like to be able to use others (rectangular regions within the screen).
If necessary I can describe in more detail what is required or you can see
for yourself by looking at the stdwin documentation.
I assume that people who use other systems (like MSWindows) would also
like reasonable implementations of stdwin, or some other access to their
window systems.  I don't know much about which implementations of stdwin
are reasonably complete or what other systems are well integrated with
CLISP.  I'm sure you'll tell me, though.

- a "generic" stream capability, where the programmer supplies lisp
functions to do all the primitive operations on the stream.  I'm 
convinced that this would be easy for anyone who is capable of changing
the CLISP source.  (Again I can supply more details to anyone who's
interested.)  I'm prepared, if necessary, to use this capability
(if it is provided) to implement the one above in lisp.

another that Marcus has suggested:
- foreign function interface

(He has suggested a few others but I'm not sure what he has in mind,
so I'll let him speak for himself.)

Another possible enhancement that comes to mind:
- support for "multiple processes" that share the same lisp address
space (I'm not asking for it since I don't need it at the moment.)
Bruno seemed opposed to this when I last mentioned it to him.  I don't
know how hard it would be to implement (might be hard).

---

From: Martin Sjolin <[email-masked]>
Date: Tue, 11 Jan 94 23:53:22 +0100

>>>>> "Don" == Don Cohen <[email-masked]> writes:

Don> Now on to the enhancements.  I'll start with the ones I've been hoping for.

Don> - a good implementation of the stdwin library for DOS 
Don> The current implementation only provides for one window - the full screen.
Don> I'd like to be able to use others (rectangular regions within the screen).
Don> If necessary I can describe in more detail what is required or you can see
Don> for yourself by looking at the stdwin documentation.
Don> I assume that people who use other systems (like MSWindows) would also
Don> like reasonable implementations of stdwin, or some other access to their
Don> window systems.  I don't know much about which implementations of stdwin
Don> are reasonably complete or what other systems are well integrated with
Don> CLISP.  I'm sure you'll tell me, though.

Also, I'm VERY interesting to see a clisp (possible structure) (like
the Medley editor, SEDIT) or any more powerfull editor written in
Clisp, running in lisp. If and when you have a "multiple processes"
then each editor could be running in its own process.

Don> another that Marcus has suggested:
Don> - foreign function interface

YES, together with a dynamic loading interface. For the dynamic loading
we can use either the dld (GNU) or the tcl/tk implementation (I think it
different than dld, but not sure).

Don> - support for "multiple processes" that share the same lisp address
Don> space (I'm not asking for it since I don't need it at the moment.)
Don> Bruno seemed opposed to this when I last mentioned it to him.  I don't
Don> know how hard it would be to implement (might be hard).

Bruno, could you extend your thought on this? Of course you could always
use an existing thread packae(?), but i do not how portable these are
and to what degree that might help us!

msj
--
Martin Sj\"olin                                 | e-mail: [email-masked] 
Intelligent Information Systems Laboratory      | phone : +46 13 28 24 10
Department of Computer and Information Science  | fax   : +46 13 28 26 66
University of Link\"oping, S-581 83 Link\"oping, SWEDEN