[asdf-devel] Proposal for improved support for versions of systems
rpgoldman at sift.info
Mon Jun 28 14:37:24 UTC 2010
On 6/28/10 Jun 28 -12:48 AM, Vsevolod Dyomkin wrote:
> A final note about versioning: I needed to use pre-reading of ASD files
> in order to know their versions without arising version conflicts. This
> works, except for the fact, that READ-EVAL is turned off in the process,
> so such version specifiers as:
> * :version #.*hunchentoot-version*
> * :version #.(with-open-file (vers (merge-pathnames "version.lisp-expr"
> *load-truename*)) (read vers))
> do not produce expected results and are treated as empty versions.
> There will be a need to make a note about that to library developers.
This is a substantial revision of the contract between the ASDF system
author and ASDF, and I suggest that we *NOT* make this change in this
There has been a substantial amount of discussion on moving ASDF system
definitions to a more declarative representation, particularly one that
could be safely processed by READ, without EVAL. Both Juanjo and James
Anderson, IIRC, have pressed for a change in this direction for reasons
other than fixing versioning.
As part of this discussion, there have been mentions of specific
revisions to DEFSYSTEM intended to make it safely readable without
sacrificing too much of ASDF's expressive power.
I would like to suggest that we have an online discussion (and, ideally
some kind of hybrid on- off-line discussion possibly affiliated with
ILC) of this matter among ALL the people interested in seeing ASDF move
to a readable (as opposed to only a LOADable) form of system definition,
rather than rush into it in this way.
ASDF is a critical piece of the CL world's development infrastructure,
and large-scale modifications such as this one cannot be made hastily.
More information about the asdf-devel