<html><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><div>Hi Gary,</div><div><br></div><div>this is exciting news. In our case we really would like the Mac32/64 + Win32/64 Lisps but our tire kicking activity would be to try to get OpenGL and QuickTime to work on Windows. Sounds like the win32 version may be still to shaky for this kind of stress test? Is there a plan to have SLIME work with win32 and will there be a precompiled .exe version of ccl/win32? Is there already or will there be a mechanism similar to the trap mechanism on Mac for OS X calls to parse header files to turn them automagically into defcallbacks (or whatever they will be called)?</div><div><br></div><div>Alex</div><div><br></div><br><div><div>On Oct 8, 2008, at 8:28 PM, Gary Byers wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><div>32- and 64-bit versions of Clozure CL for Windows are now available in svn:<br><br><<a href="http://svn.clozure.com/publicsvn/openmcl/trunk/windows">http://svn.clozure.com/publicsvn/openmcl/trunk/windows</a>><br><br>The 64-bit version's been available for a while; the 32-bit version's <br>brand new (and still contains some known runtime bugs, along with all<br>of the unknown ones.)  We only have a few (real or virtual) Windows<br>boxes available, so it'd be helpful if people with (a) interest (b)<br>some time and (c) access to real or virtual Windows boxes could<br>take this for a ride around the block, kick the tires, etc.<br><br>As of yesterday, the win32 version could compile itself successfully<br>3 times out of 4 and crashed the 4th time.  The win64 version hasn't<br>had a random unexpected crash in a few months, but AFAIK I've been<br>the only person using it much.  As much as anything, it'd be interesting<br>to see if this general impression (the win32 port is at the outer bounds<br>if usability, the win64 port is generally a lot closer) is confirmed or<br>refuted by other people's experience.<br><br>Both version should run under XP or Vista (but almost certainly not under<br>anything older than XP.)  XP is several years old now, and XP with a<br>recent "service pack" is somewhat different from earlier version.  Most<br>of the Win32 development's been done under a fairly recent (SP3) version<br>of XP; it'd be interesting to know whether it works on eariler versions.<br><br>The 64-bit version requires a 64-bit version of Windows (XP64, Vista 64.<br>maybe some server OS versions.)  It's currently the case that the 32-bit<br>version of CCL doesn't run under 64-bit OS releases.  We understand why<br>it doesn't, and hope to remove this restriction ASAP.<br><br>I don't use SLIME; I honestly don't know whether or not there are socket<br>or other issues that'd prevent SLIME from working.  (If there are, please<br>let us know and we'll try to give priority to fixing them.)<br><br>Some things that we do know:<br><br>- Windows has a very different model of file permissions and sharing<br>   than Unix systems do.  On Unix, it's well-defined, meaningful, and<br>   useful to (for instance) delete a file that you have open; Windows<br>   generally doesn't allow that sort of thing.  (One consequence of this<br>   is that calling REBUILD-CCL with any options that'd cause the kernel<br>   to be rebuilt can't work the way things are currently implemented,<br>   since the lisp kernel has been opened by the OS.)  There are other<br>   consequences, some of which can be addressed and improved and some<br>   of which can't: this is a very different OS.<br><br>- Most Windows functions and utilities that deal with pathnames can<br>   accept either forward or backward slashes as directory separators.<br>   CCL pathname/namestring functions don't (yet) deal with backslashes<br>   or with some other Windows namestring conventions.  (When a Windows<br>   function returns a namestring, any backslashes in that namestring<br>   are converted to forward slashes before lisp pathanme code sees it.)<br><br>- The lisp kernel is built with the Cygwin tools (<a href="http://www.cygwin.com">www.cygwin.com</a>), though<br>   we don't use any Cygwin libraries.  To build the 32-bit kernel, you'd<br>   need (at least) the 'make', 'gcc', 'm4', 'mingw" and "w32api" packages<br>   and their dependencies; the 64-bit kernel also needs a 64-bit toolchain<br>   available from the mingw-w64 project:<br><br>   <<a href="http://sourceforge.net/projects/mingw-w64/">http://sourceforge.net/projects/mingw-w64/</a>><br><br>- We haven't done any work yet on Windows GUI programming (examples,<br>   bridges, ...).  On Win32, there's at least on low-level FFI change<br>   that'll be needed to support this (Win32 functions follow a "pascal-like"<br>   calling sequence, in which the callee pops its arguments off of the<br>   stack before returning.  The way that we do foreign function calls, I<br>   don't think that we care about this, but I'm pretty sure that we<br>   need to extend DEFCALLBACK to meet the caller's expectations.  (Perhaps<br>   we should call that extension DEFPASCAL ...)<br><br>Andreas Bogk did a lot of early work on the Win64 port, and the Win32 <br>version has gotten as far as it has as quickly as it has largely because <br>Matt Emerson's ia32 compiler backend and runtime are as good as they are.<br><br>Again and especially in the case of the 32-bit port, "as far as it's<br>gotten" is "somewhere around the outer bounds of usability."  You'll<br>likely find that it crashes in mysterious and non-repeatable ways (it's<br>likely still on the wrong side of those outer bounds ...), and at this<br>point the most interesting questions are "does it run at all?" and "if<br>not, what OS version are you using ?".<br><br><br>_______________________________________________<br>Openmcl-devel mailing list<br><a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>http://clozure.com/mailman/listinfo/openmcl-devel<br><br></div></blockquote></div><br><div apple-content-edited="true"> <span class="Apple-style-span" style="border-collapse: separate; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; orphans: 2; text-align: auto; text-indent: 0px; text-transform: none; white-space: normal; widows: 2; word-spacing: 0px; -webkit-border-horizontal-spacing: 0px; -webkit-border-vertical-spacing: 0px; -webkit-text-decorations-in-effect: none; -webkit-text-size-adjust: auto; -webkit-text-stroke-width: 0; "><div style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><span class="Apple-style-span" style="border-collapse: separate; border-spacing: 0px 0px; color: rgb(0, 0, 0); font-family: Helvetica; font-size: 12px; font-style: normal; font-variant: normal; font-weight: normal; letter-spacing: normal; line-height: normal; text-align: auto; -khtml-text-decorations-in-effect: none; text-indent: 0px; -apple-text-size-adjust: auto; text-transform: none; orphans: 2; white-space: normal; widows: 2; word-spacing: 0px; "><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">Prof. Alexander Repenning</font></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><br class="khtml-block-placeholder"></p><p style="margin: 0.0px 0.0px 0.0px 0.0px">University of Colorado</p><p style="margin: 0.0px 0.0px 0.0px 0.0px">Computer Science Department</p><p style="margin: 0.0px 0.0px 0.0px 0.0px">Boulder, CO 80309-430</p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><br class="khtml-block-placeholder"></p><p style="margin: 0.0px 0.0px 0.0px 0.0px"><font face="Helvetica" size="3" style="font: 12.0px Helvetica">vCard: <a href="http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf">http://www.cs.colorado.edu/~ralex/AlexanderRepenning.vcf</a></font></p><br class="Apple-interchange-newline"></span></span></span></div></span> </div><br></body></html>