[comp.windows.ms] Lisp for MS Windows 3?

al@unix.cis.pitt.edu (Alan M Lesgold) (04/20/91)

I am looking for a solid common lisp package that will run under MS
Windows 3.  I want to connect it via DDE or some similar level of
capability to a Smalltalk program.  An OS/2 Lisp would probably also do
quite well.  A DOS version that is hacked to not crash under windows
would not be sufficient because I actively want to use Windows features.
Any help will be appreciated.
--Alan Lesgold
  FAX:  412-624-9149

vjk@sps.com (Vince Kovarik) (04/22/91)

In article <117768@unix.cis.pitt.edu>, al@unix.cis.pitt.edu (Alan M  Lesgold) writes:
> I am looking for a solid common lisp package that will run under MS
> Windows 3.  I want to connect it via DDE or some similar level of
> capability to a Smalltalk program.  An OS/2 Lisp would probably also do
> quite well.  A DOS version that is hacked to not crash under windows
> would not be sufficient because I actively want to use Windows features.


There is a LISP available from Raindrop Software called Software Engineer
that I have been using for about a month.  It is not quite "common" but 
has some *VERY* impressive hooks into windows. Window creation, alteration, 
menu definition, call backs, etc. are all available as LISP functions.

For example:

(setf my-wind (createwindow "MEDIAWND" 
		:STYLE (logior WS_OVERLAPPED WS_VSCROLL)
		:X 300 :Y 50
		:DX 200 :DY 300
		:CMDSHOW SW_NORMAL
		:CAPTION "My Window"))

creates an overlapped window, initially exposed, at the coordinates shown,
with the title "My Window". The CREATEWINDOW function returns the W3.0
handle for the window created.  So, my-wind contains the handle which
could be subsequently used for other messages to the window using the
SENDMESSAGE function or other hi-level functions.

Connecting a call-back function is equally simple.  If you call-back
function (also defined in LISP) is MY-CB, it is hooked into my-wind
as follows,

(hookmediawnd my-wind 'MY-CB)

In all, if you prefer LISP or simply want to prototype and/or develop
Windows applications in a much more civil manner, Software Engineer is
an outstanding package.

Now for some caveats:

As I said, it's not quite "common" however it does have most of the
important features (i.e. the backquote reader macro and defmacro). 
Also present are catch and throw, unwind-protect and format, however,
are not currently available but due in a release later this year.

The file I/O needs a little more work (no file-position function) but
I have been told this is being developed also.

The first release has some rough edges (i.e. problems with some functions
not working correctly) but, with a little more improvement it will be
a dynamite package.

The particulars:

The package is called "Software Engineer"
The company is:  Raindrop Software
                 Suite 105
                 845 E. Arapaho
                 Richardson, TX  75081
                 214-234-2611


Hope this provides what you're looking for.....

If anyone has some more detailed questions, e-mail to the address above.

Vince Kovarik