Greetings! OK, nqthm functionality appears restored, but I am still working on ways to improve the compile times. Feel free to try it out or wait as you may please.
nqthm build issues with auto-proclamation: 1) There are incorrect proclaims being made at the beginning of compile.lisp, particularly in multiple return values being proclaimed as returning t. 2) compile and save are in two separate gcl invocations, though the compile step loads and executes code which must therefore be certifiably correct between load and execution. The separate steps implicitly assume that the compile-file output is final and ready for loading without further processing, an assumption which is likely quite common among lisp projects. Currently GCL does not redo the original source file when recompiling, leading to two recompiling steps when loading compile.lisp and save.lisp. Ideas I'm working on: 1) when autoproclaiming, ignore user proclaims. I'm less than happy about this, as I think the user can assit the compiler in this way. I'm playing with it now to see if I can automatically defer recompilation "till the end", which may either mean top-level or image save. I think I have a better shot at having compiled and loaded code using default '((*) *) assumptions be correct without recompilation before execution than code compiled using user proclamation assumptions. In fact, the combination of 1) and 2) above has lead to error breaks during the execution of boot-strap-fn when recompilation is turned off inside the loading of compile.lisp. This is the state of cvs at present -- to reenable user proclaims, simply edit compiler::put-procls in one obvious line. Of course one could take the opposite perspective and foist all incorrect proclamation problems onto the user. This is the classic "give me power" vs. "give me trouble-free operation" debate -- your opinions as always most welcome here. 2) automatically defer recompilation to top-level or image save. 3) Mark source files in which functions have been recompiled as "dirty" and pass them through compile-file during recompilation, if they still can be found on the filesystem. (si::file 'fn) should give the source file in which 'fn is first defined, though this may need some work. This is definitely one of the issues I'd like to make sure meets your and others' satisfaction in the near future. I'd also like to disuss the new inlining features at some point. A first place to look might be at the inlining comments in the C code output. Take care, Robert Boyer <[EMAIL PROTECTED]> writes: > In GCL 2.6.7, I can build and save Nqthm in about a > minute or less. > > 21.673u 2.196s 0:50.31 47.4% 0+0k 0+0io 874pf+0w > > As you can see from > > wget http://www.cs.utexas.edu/users/boyer/foo.text > > I could not get it done in 9 hours in the latest GCL > 2.7.0. > > I just gave up around here: > > 30316.818u 2281.846s 9:06:01.46 99.5% 0+0k 0+0io 0pf+0w > > Bob > > > -- Camm Maguire [EMAIL PROTECTED] ========================================================================== "The earth is but one country, and mankind its citizens." -- Baha'u'llah _______________________________________________ Gcl-devel mailing list Gcl-devel@gnu.org http://lists.gnu.org/mailman/listinfo/gcl-devel