The dictatorship of versioning

Didier Verna didier at
Tue Jun 16 11:33:50 UTC 2015

Drake Wilson <drake at> wrote:

> Curiosity: what _are_ your version numbers like, and how do you
> compare them?  It was a little too hard to find this readily from your
> website.  Maybe seeing a good example would help.

  A version specifier has a major and a minor number, a status (alpha,
beta, release candidate and patchlevel), a status number and a name. 

This is the beginning of the VERSION function in all my libraries:

(defun version (&optional (type :number))
  "Return the current version of Clon.
TYPE can be one of :number, :short or :long.

A version number is computed as major*10000 + minor*100 + patchlevel, leaving
two digits for each level. Alpha, beta and rc status are ignored in version

A short version is something like 1.3{a,b,rc}4, or 1.3.4 for patchlevel.
Alpha, beta or rc levels start at 1. Patchlevels start at 0 but are ignored
in the output, so that 1.3.0 appears as just 1.3.

A long version is something like
1.3 {alpha,beta,release candidate,patchlevel} 4 \"Michael Brecker\". As for
the short version, a patchlevel of 0 is ignored in the output."

My new Jazz CD entitled "Roots and Leaves" is out!
Check it out:

Lisp, Jazz, Aïkido:

More information about the asdf-devel mailing list