Hi, on the CommonJS Google Group there was a discussion on semantic
versioning, a formalization of the concept of properly using a common
version number scheme (Major.Minor.Patch) for libraries.

http://semver.org/

I think it would be especially easy to enforce a simple version of
this system in a Clojure project. A program could inspect code and
decide what version number to use during build time. The major version
could be changed automatically once a public function, multi-method or
macro arguments list change in a non-backward compatible way and also
when some of them are removed. The patch version number could be
incremented when code change (but not the API) and existing tests
don't change or new tests have been added. The minor version could be
incremented in other cases. This implementation have it's quirks, like
not being able to check for return types. Doing it for real would
certainly uncover a more lot subtle details.

What do you thinking about this idea? How would you improve it?

- budu

-- 
You received this message because you are subscribed to the Google
Groups "Clojure" group.
To post to this group, send email to clojure@googlegroups.com
Note that posts from new members are moderated - please be patient with your 
first post.
To unsubscribe from this group, send email to
clojure+unsubscr...@googlegroups.com
For more options, visit this group at
http://groups.google.com/group/clojure?hl=en

Reply via email to