Clojure

Wednesday, October 27, 2010

I'm finally recovering from the first Clojure Conj conference, held last week in Durham, NC.

What a terrific conference! That's not personal boasting, as I did little more than show up. Thanks so much to everyone who worked so hard to make it great - the Clojure/core team and the folks at Relevance, the speakers, and sponsors. They put it together in a short amount of time and did a great job. Special appreciation for the "three A's", the men on the ground - Alan Dipert, Alex Warr and Andrew Collins.

Thanks also to all the attendees for bringing that helpful, friendly optimism that is the Clojure community into meatspace, where it was, once again, quite evidently special.

I really enjoyed meeting everyone. All the in-depth discussions left me both depleted and full of ideas. What more could you want?

Thursday, August 19, 2010

For maven/leiningen users, your settings to get the beta from build.clojure.org/releases are:

:dependencies [[org.clojure/clojure "1.2.0"]

[org.clojure/clojure-contrib "1.2.0"]

This release includes many significant new features, such as protocols and datatypes; enhancements to existing features like the sequence library, destructuring and agents; support for annotations, etc. In addition, it incorporates many enhancements first developed and nurtured in clojure-contrib like I/O, string and pretty printing facilities.

This release reflects the work of many people in addition to myself, and I'd like to thank all of the contributors who've submitted fix and enhancement patches, and everyone in the community who has participated in terrific dialog that surrounds the development and use of Clojure.

Congrats and thanks to the contrib authors whose work has made it into the release:

Chas Emerick

Tom Faulhaber

Stephen Gilardi

Christophe Grand

Stuart Halloway

Chris Houser

David Liebke

Michel Salim

Stuart Sierra

I'd especially like to thank Stuart Halloway and the rest of the Clojure/core team for their tireless effort in authoring, screening and applying patches, setting up build machines, monitoring the mailing list, cutting releases etc. Their help greatly facilitates my ability to concentrate on the core design issues, and builds the foundation for increasing community involvement. A lot of work goes into Clojure. The team's effort is enabled and funded by the Clojure/core practice.

What's next? Plenty! There are a few fixes and enhancements too impactful to squeeze into this release that we hope to get out there ASAP. I've done a ton of work already on enhanced primitive support and call linkage that will be moving into master. Design work is proceeding on many fronts. I'm looking forward to the increasing capability and maturity of Clojure, and the growth of the community.

Tuesday, May 25, 2010

I'm happy to announce Clojure/core, a joint endeavor between myself and Relevance, Inc. Clojure/core is a specialized technical practice within Relevance, focused on Clojure. Featuring myself and Stuart Halloway as advisors, the team also includes Clojure experts such as David Liebke (Incanter), Stuart Sierra (clojure-contrib contributor) and Aaron Bedra (an experienced consultant using Clojure).

The practice will be providing mentorship, training and development services for those using, or planning to use, Clojure, and sustaining Clojure itself.

Not interested in Clojure mentorship, training or dev assistance? There's still plenty of good news for the Clojure community in this announcement. One of the missions of Clojure/core is the sustainability of Clojure. The team will spend 20% of its time on Clojure itself. This includes working on enhancements and tickets, incorporating patches, helping tend the mailing list etc. This will enable our team to get a lot more done than I could ever do myself, while enabling me to focus on the fundamental aspects of Clojure. It will also broaden the pool of people with intimate knowledge of the internals of Clojure.

The availability of services such as this is an important milestone for Clojure, as people choosing to adopt Clojure can be assured they can get mentorship, training and dev assistance, from experts.

I'm very excited about this effort. The folks at Relevance have never failed to impress me with their skills and attitude, and they truly get Clojure and care about its sustainability.

Note: clojure.com will now resolve to the Clojure/core site. Come check it out!

Many users have been running this code for a while now from the git repository, so I hope it continues the tradition of stability.

Without diminishing the efforts of any others, I'd like to call attention to the following:

Chris Houser has been helping me with patch commits and management of the Google Group. His efforts are invaluable to my staying focused on core issues.

Christophe Grand got his head around the transient mechanism and implemented it for several of the data structures, in addition to pursuing some of my more speculative ideas (with great success). This was a big help to me.

Tom Faulhaber has done a terrific job moving the API docs to a much better automated system hosted in the github repo:

It is clear that Clojure is taking off, and I attribute that to the fantastic community that has sprung up around it. Everyone continues to be supportive and friendly, and that matters quite a bit to newcomers who need help. It was great to hop on the #clojureirc this morning to find old hands chouser, cgrand and 170 others chatting away.

It takes much more than just the core language to make a language successful, and I want to thank everyone for your continued effort, support, suggestions, donations and patches. You are what makes Clojure great - find some cake and celebrate!

Monday, May 4, 2009

Numbered releases will enable people to consume a stable version of Clojure and move to bugfix-only incremental versions while preserving API stability, and to consume libraries designed to work with specific versions. Providing the bugfix-only revisions depends upon the community to submit patches for the release branch as well as the trunk.

Clojure represents several years of effort on my part, but has also been shaped profoundly by the community in the 18 months since its release to the public. I can't thank everyone enough for your contributions of ideas, bug reports, suggestions, tests, tools, documentation and code - patches and enhancements. Clojure wouldn't be where it is today without its community and all of your efforts.

Of course, there is more to do. Many good ideas have been suggested in the discussions preceding this release that were best put off for 1.1. Now with the release we can pursue them, and many others:

I want to give special thanks to those who have made donations - they really help! I did the core work on Clojure during a self-funded sabbatical that has run its course (i.e. through my savings :) - donations help fund the future.

Clojure 1.0 is a milestone of achievement, but it also represents a beginning. With 1.0, Stuart's book, the burgeoning set of libraries in and outside of contrib, and the large, friendly community, Clojure is poised to enter a period of increased adoption and application in many domains.