[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: free clim code using clisp



[Message forwarded from Scott Musman <musman@imsidc.com>. ]


>Hi, I just got the EW code. It works with clisp, but does not compile
>the files. So, I changed the binary file type from "lsp" to "fas" and
>it compiled. But when I try to run the demo, I get:
>> (in-package :ew)
>#<PACKAGE EW>
>> (run-program 'demo)
>
>*** - PRINC: argument #<FAKE-WINDOW #x4036C000> should be a stream
>
>I know I get a lot of compile warnings, but still why would there be
>such a difference in compiled vs source loaded? Is this why you just
>set the binary file type to "lsp"?

Ahh... This brings back unpleasent memories.. I remember the problem
you mention. You can solve it simply by compiling EW, loading
the files, and then AFTER everything is loaded (I can't remember
whether or not you actually have to try and run it once or not) you
can recompile the file "io-functions.lsp". After that everything works
fine in CLISP (or at least the parts of EW I ported).

My intuition tells me that the problem is because of the way CLOS
in CLISP does class finalization, but I was never able to confirm
this. Perhaps one of the CLISP guru's can shed some more light on the
subject. To give CLISP credit however, CLINC doesn't work at all in
either GCL or CMU-CL. It works fine in several commercial lisps
though! 

I don't have the time to continue to work on CLINC (though I'm
happy to try and answer questions like this one), and it's up to the
free-clim folks to decide whether or not it goes anywhere. I haven't
seen any traffic on that list, so I presume that nothing is
happening. 

Regarding the current conversation taking place on the CLISP list: 

My main motivation for CLINC (reworked EW) is that it is "light" and
fairly easy to paste a new back end onto it and port it to non X hosts
(can you say WINDOZE...). It was never intended to be a full CLIM
implementation. I would be happy if I can do the most popular 80% of
the things I can normally do in CLIM with CLINC. I think much of this
is possible just by wrapping CLIM syntax around the EW substrate. This
is not an ideal solution, but implementing CLIM from scratch is a
daunting job, and I'm not sure it has the critical mass to support
it. On top of that CLIM 2 is very complex, and my experiences have
shown that even vendors have trouble getting all of the subtle parts
of it to work right. 


				-- Scott

-- 

                                 Scott Musman
  _______________________        Intelligent Systems Division
  |    o                |        Integrated Management Services, Inc
  |     \o|             |        2101 Wilson Blvd, Suite 916
  |       \_            |        Arlington, Va, 22201
  |       \ \           |        (IMSI)703-528-0334x308 
                                 musman@imsihq.imsidc.com
                                 http://imsidc.com/~musman/