From fahree at gmail.com Wed May 18 22:04:44 2011 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Wed, 18 May 2011 18:04:44 -0400 Subject: [xcvb-devel] 0.550 Message-ID: I haven't made a formal release of xcvb in a while, and don't even know if the release scripts work, but Peter Keller and I have been hacking at XCVB to make it more usable. Most notable changes: * We've made a simple, serial, standalone backend, so you don't need to have "make" installed to run XCVB. Probably matters a lot on Windows, a bit on Macs. It also requires less user configuration. * Peter Keller has made for extremely more useful debugging output when running XCVB in verbose modes. Now it's easier to figure out what XCVB is trying to do, and why, and what's breaking. Portability: * We distinguish between valid implementations for building XCVB itself, and valid targets for XCVB. * Valid implementations are SBCL, CCL, CLISP, though we mostly use SBCL and the other two sometimes bitrot. To be tested. * Valid targets that are tested to work include sbcl, ccl, clisp, scl on Linux. * Valid targets supposed to work but not really tested include SBCL and Allegro for Windows, cmucl on Linux, maybe Lispworks Pro on either Linux or Windows. * Broken targets include CCL on Windows, GCL, cormanlisp, lispworks personal, ABCL, XCL and ECL. * Backends other than the simple standalone backend, have not been tested in some time, and have probably bitrotten: Makefile, ASDF, POIU, forking standalone backend. Testing: * Now that we have good run-program support, I've started writing test cases in a pure-lisp test system. Just spawn a slave xcvb, and check it did its job right. * The previous, shell-based, testing system, probably started bitrotting while not being used. * Unhappily, most tests are still written in the old shell-based system and need be converted. Which is why I'm not even sure our other backends still work... Notable changes: * I've created a bridge so you can write an XCVB build, and load it from ASDF (assuming XCVB is installed and supports your implementation). No need to maintain to build systems - just adopt XCVB. Could be made even easier, but for now, you create a wrapping .asd file in addition to your build.xcvb. * I've merged the master into the driver, so there's a one-stop-shop for XCVB support into your Lisp image. It includes such goodies as warning control during compilation or a portable run-program wrapper so you can extract the result from external commands as e.g. a string. Our next priorities: * Get ECL as a valid target. * Fix CCL on Windows -- hopefully they will fix http://trac.clozure.com/ccl/ticket/858 -- or we'll work around it. * Have a "reverse slave" mode, which runs universally by having the master process do all the compilation work, ASDF style, for implementations with no command-line or expansive command-line invocation (ABCL, I'm looking at you). * Migrate more tests to our new test infrastructure, and revive other backends. * Make our efficient parallelizing backend more robust and usable. * Support dumping of executable programs, a la cl-launch or buildapp. Is anyone still interested in XCVB? A good way to help would be to move tests to be run by Lisp instead of shell. Also, your feedback on what should be our priorities to have you switch from ASDF to XCVB would be welcome. What are the non-starters? [ Fran?ois-Ren? ?VB Rideau | Reflection&Cybernethics | http://fare.tunes.org ] Die, v.: To stop sinning suddenly. - Elbert Hubbard From psilord at cs.wisc.edu Thu May 19 05:41:00 2011 From: psilord at cs.wisc.edu (Peter Keller) Date: Thu, 19 May 2011 00:41:00 -0500 Subject: [xcvb-devel] CL_SOURCE_REGISTRY question Message-ID: <20110519054100.GA15006@cs.wisc.edu> Hello, What should XCVB do in these cases of how CL_SOURCE_REGISTRY is set: CL_SOURCE_REGISTRY= CL_SOURCE_REGISTRY=. ;; or some other relative path CL_SOURCE_REGISTRY=/absolute/but/nonexistent/path CL_SOURCE_REGISTRY=/a/good/path The last one, of course, works, but what would you like the semantics of the other three to be? And, it turns out that (pathname-directory ".") is NIL, but (pathname-directory "./") is (:relative :up). Is there a decent means of dealing with this problem? Thank you. -pete From psilord at cs.wisc.edu Thu May 19 16:15:35 2011 From: psilord at cs.wisc.edu (Peter Keller) Date: Thu, 19 May 2011 11:15:35 -0500 Subject: [xcvb-devel] CL_SOURCE_REGISTRY question In-Reply-To: <20110519054100.GA15006@cs.wisc.edu> References: <20110519054100.GA15006@cs.wisc.edu> Message-ID: <20110519161535.GA15106@cs.wisc.edu> On Thu, May 19, 2011 at 12:41:00AM -0500, Peter Keller wrote: > Hello, > > What should XCVB do in these cases of how CL_SOURCE_REGISTRY is set: > > CL_SOURCE_REGISTRY= > CL_SOURCE_REGISTRY=. ;; or some other relative path > CL_SOURCE_REGISTRY=/absolute/but/nonexistent/path > CL_SOURCE_REGISTRY=/a/good/path Barring any complaints, here is a proposed semantic: CL_SOURCE_REGISTRY= Ignored. Systems can be discovered through other means too. CL_SOURCE_REGISTRY=. ;; or some other relative path Fail with an error that it should be an absolute path. CL_SOURCE_REGISTRY=/absolute/but/nonexistent/path Work properly, there are just no systems discovered under it. CL_SOURCE_REGISTRY=/a/good/path Works properly, systems found. Later, -pete From fahree at gmail.com Thu May 19 22:19:29 2011 From: fahree at gmail.com (=?ISO-8859-1?Q?Far=E9?=) Date: Thu, 19 May 2011 18:19:29 -0400 Subject: [xcvb-devel] CL_SOURCE_REGISTRY question In-Reply-To: <20110519161535.GA15106@cs.wisc.edu> References: <20110519054100.GA15006@cs.wisc.edu> <20110519161535.GA15106@cs.wisc.edu> Message-ID: Dear Peter, >> What should XCVB do in these cases of how CL_SOURCE_REGISTRY is set: >> >> CL_SOURCE_REGISTRY= >> CL_SOURCE_REGISTRY=. ;; or some other relative path >> CL_SOURCE_REGISTRY=/absolute/but/nonexistent/path >> CL_SOURCE_REGISTRY=/a/good/path > Are you trying to determine what XCVB is actually doing, or what it "should" be doing? Note that XCVB delegates most of the handling of CL_SOURCE_REGISTRY to ASDF, so that the two should produce consistent results. > Barring any complaints, here is a proposed semantic: > > CL_SOURCE_REGISTRY= > ? ? ? ?Ignored. Systems can be discovered through other means too. > That's what's happening. An empty string means "recurse to inherited configuration". > CL_SOURCE_REGISTRY=. ;; or some other relative path > ? ? ? ?Fail with an error that it should be an absolute path. > Currently, it fails indeed for want of an absolute path. > CL_SOURCE_REGISTRY=/absolute/but/nonexistent/path > ? ? ? ?Work properly, there are just no systems discovered under it. > Yup. > CL_SOURCE_REGISTRY=/a/good/path > ? ? ? ?Works properly, systems found. > Yes. Though you probably want // at the end to recurse through subdirectories. ??? ? Fran?ois-Ren? ?VB Rideau ?Reflection&Cybernethics? http://fare.tunes.org If money is your hope for independence you will never have it. The only real security that a man will have in this world is a reserve of knowledge, experience, and ability. ? Henry Ford From psilord at cs.wisc.edu Fri May 20 03:56:34 2011 From: psilord at cs.wisc.edu (Peter Keller) Date: Thu, 19 May 2011 22:56:34 -0500 Subject: [xcvb-devel] CL_SOURCE_REGISTRY question In-Reply-To: References: <20110519054100.GA15006@cs.wisc.edu> <20110519161535.GA15106@cs.wisc.edu> Message-ID: <20110520035634.GA14466@cs.wisc.edu> On Thu, May 19, 2011 at 06:19:29PM -0400, Far? wrote: > Dear Peter, > > >> What should XCVB do in these cases of how CL_SOURCE_REGISTRY is set: > >> > >> CL_SOURCE_REGISTRY= > >> CL_SOURCE_REGISTRY=. ;; or some other relative path > >> CL_SOURCE_REGISTRY=/absolute/but/nonexistent/path > >> CL_SOURCE_REGISTRY=/a/good/path > > > Are you trying to determine what XCVB is actually doing, or what it > "should" be doing? I've determined what it atually does. I'm trying to figure out what it "should" be doing. :) > Note that XCVB delegates most of the handling of CL_SOURCE_REGISTRY to > ASDF, so that the two should produce consistent results. yeah, I noticed that. Question: Is XCVB always going to be dependent upon code in ASDF, or should the code from ASDF be lifted wholesale into XCVB and the dependency between them broken? > > CL_SOURCE_REGISTRY=. ;; or some other relative path > > ? ? ? ?Fail with an error that it should be an absolute path. > > > Currently, it fails indeed for want of an absolute path. Is this XCVB's responsibity to check? Or ASDFs? > > CL_SOURCE_REGISTRY=/a/good/path > > ? ? ? ?Works properly, systems found. > > > Yes. Though you probably want // at the end to recurse through subdirectories. Oh, I hadn't realized that. Thanks! -pete