It is under development, still has a long way to go and its top-level API is still a moving target but what exists is well-documented and mostly covered by an extensive Stefil-based test suite. Other libraries currently in use are CL-FAD, external-program, Alexandria, CL-PPCRE, unix-options, Bordeaux-Threads and patron. Right now, only SBCL is supported though.
One interesting thing you can already do with evol is:
sh$ cat >> Evolution <And basic stuff not requiring autoconf-like functionality does also work:
cat >> Evolution <(devolution "main" ("objects") :type 'program :rule "%cc %< -o %@" :sourcefn #'(lambda (target modifier) (declare (ignore target modifier)) (getenv "objects"))) (devolution "objects" () :type 'hive :of 'generic :spawn '("main.o" "program.o") :rule "%cc ${CFLAGS} -c -o %@ %<" :sourcefn #'(lambda (target modifier) (declare (ignore modifier)) (pathname-change-suffix "c" target)))
(devolution "clean" () :type 'generic :rule "rm -f %objects %main") EOF sh$ evol -j 3 (cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -c -o main.o main.c) (cc -O2 -g -pipe -Wall -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m32 -march=i686 -mtune=atom -fasynchronous-unwind-tables -c -o program.o program.c) (cc main.o program.o -o main) (chmod +x main) sh$ evol clean (rm -f main.o program.o main)
Appealing enough? :) The author, Alexander Kahl, hopes this could also pull in more people to the wonderful world of Lisp(s).
The package is asdf-installable. The link to the git repository is available from Github.
Download ASDF package from http://github.com/e-user/evol/tarball/master
Topics: buildThis page is linked from: cl-m4
CLiki pages can be edited by anyone at any time. Imagine a fearsomely comprehensive disclaimer of liability. Now fear, comprehensively