Using ASDF as part of an interactive app framework - storing components in memory?
Robert Goldman
rpgoldman at sift.net
Tue Jul 19 14:13:22 UTC 2016
Drew McDermott made a build system called (IIRC) "chunks," that did just
what you want: it put dependencies on arbitrary data structures and
recomputed them on need. One challenge is that his build system is
built on top of his "yale-tools" mega-library, which can be difficult
for outsiders....
Here's Drew's paper, A Framework for Maintaining the Coherence
of a Running Lisp: http://www.cs.yale.edu/homes/dvm/papers/lisp05.pdf
I suggest you read this, and see if you could graft the ideas onto ASDF
(with suggestions from asdf-devel).
ASDF mostly uses the filesystem to track dependencies (although it has
an internal db, as well), so there would be a little effort to extend to
a non-file-centric build.
Drew's key idea is that his system (and ASDF), unlike build systems like
make or ant, have as a primary job maintaining the integrity of the
running lisp image. [Faré may disagree with this claim: he comes to Lisp
usage with a newer perspective than my old-school view.]
Drew's system is less fine-grained than the cells system that Faré
suggests. I don't think the cells system ever got mature enough for use.
If you want a dependency-driven, lisp-based constraint system per Faré,
I think you'd have better luck with the KR system developed a long time
ago at CMU. It is primitive in some ways (hand-built on structures,
rather than using CLOS), but was used for years in a very high-stress
environment, so is much more likely to work than cells. KR is available
as part of the Garnet UI system. Drop me a line if you are interested.
Best,
r
More information about the asdf-devel
mailing list