"Pascal J. Bourguignon" pjb@informatimago.com wrote:
Alternatively, we could have:
(defsystem :foo :version-major 1 :version-minor 0 :version-release 42 :human-readable-version-string "1.0.gamma.XLII/pescadero:whasaaaaa")
or:
(defsystem :foo :version (1 0 42) :human-readable-version-string "1.0.gamma.XLII/pescadero:whasaaaaa")
Actually, I had something like that in mind. With this idea of allowing individual systems to handle their own versioning logic, I intended to put something like '(1 3 :beta 4 "Release Name") in the :version slot.
A human-readable version is different from a version specifier. ASDF already does something shaky in this regard, even for its simplistic versioning scheme: because it normalizes versions into strings, it needs to provide UNPARSE-VERSION! Yuck.
So if ASDF (or its users) insists on have human readable version strings, I wouldn't mind systems having both :version and :version-string.