2007年08月30日
Forking SBCL for Dummies
http://repo.or.cz/ hosts a git repository for SBCL and makes it easy to publish your own fork of SBCL.
Here is a quick step-by-step guide for anyone planning to have his repository hosted there. (All of this will be painfully obvious to the git experts.)
- Register a user account. All you need is an SSH public key, no questions asked.
- Create the fork. Find the SBCL project and go to "fork". Enter a project name for the fork and an admin password.
Done. Now you have a fork, but you need to initialize it first.
- Go to your "Project Settings" page and add yourself as a user.
Otherwise you cannot push to your own project.
- Push into the fork. One way to do this is to clone the normal SBCL repository, then use
git push --all ssh://yourusername@repo.or.cz/srv/git/sbcl/yourprojectname.git
Don't forget the --all, which instructs git to push all refs. Whatever a ref is, anyway.
2007年08月26日
cloak
It is unfinished, slow, buggy, unmaintained, in need of a rewrite -- and now you can hack it yourself!
Doesn't that sound exciting? Of course it does.
Prerequisites. Only Linux/x86 is supported1. You will need several hours of spare CPU time, about 1 GB of RAM, and lots of disk space. Compilation involves building SBCL and classpath first, so make sure to install all required dependencies first. Debian users can run
# apt-get install sbcl svn cvs wget jikes # apt-get build-dep classpathto do so.
Build script. Grab cloak using git [edit: needs git 1.5, no idea why]:
$ git clone http://www.lichteblau.com/git/cloakbuild.gitand compile it using clbuild-like commands:
$ ./build update $ ./build world
Usage. The bin directory contains scripts called java, javac (courtesy of ecj), javap, and javah that run Lisp with the right arguments.
$ ./bin/java -version CLOAK Virtual Machine, running on SBCL 0.9.8.6 (Linux 2.6.22 X86) Copyright (C) 2003-2007 David Lichteblau
Technically it is a precompiler, and to avoid unpleasant surprises at run time, you might want to run
./bin/precompile foo.jarbefore starting anything non-trivial.
Finally, read cloak/TODO and start hacking.
What's new? Compared to the big binary tarball available previously, this one comes with sources only, has been updated for current SBCL, and for Classpath 0.91 (which is still ancient, but a little step forward). The scripts in bin/ are also new.
1 No AMD 64 support yet. For now, use an x86 chroot instead.
2007年08月05日
A new data structure for XML
The result is STP, a data structure for XML that is full-featured and uses CLOS, but is more natural than DOM and gets namespaces right. Its implementation cxml-stp is available as an add-on library for Closure XML.
(For most purposes, it should be preferable to other alternatives, but DOM fans -- in case there are any -- can be assured that DOM support in cxml will not go away either.)
Read more about STP in the tutorial.