Awesome! I know one company that’s going to jump straight on 1.9.0-alpha1! ☺
Heck, we may even start today with 1.9.0-master-SNAPSHOT since clojure.spec was committed a couple of hours ago ☺ Sean Corfield -- (904) 302-SEAN An Architect's View -- http://corfield.org/ "If you're not annoying somebody, you're not really alive." -- Margaret Atwood On 5/23/16, 7:12 AM, "Rich Hickey" <clojure@googlegroups.com on behalf of richhic...@gmail.com> wrote: >Introducing clojure.spec > >I'm happy to introduce today clojure.spec, a new core library and support for >data and function specifications in Clojure. > >Better communication > >Clojure is a dynamic language, and thus far we have relied on documentation or >external libraries to explain the use and behavior of functions and libraries. >But documentation is difficult to produce, is frequently not maintained, >cannot be automatically checked and varies greatly in quality. Specs are >expressive and precise. Including spec in Clojure creates a lingua franca with >which we can state how our programs work and how to use them. > >More leverage and power > >A key advantage of specifications over documentation is the leverage they >provide. In particular, specs can be utilized by programs in ways that docs >cannot. Defining specs takes effort, and spec aims to maximize the return you >get from making that effort. spec gives you tools for leveraging specs in >documentation, validation, error reporting, destructuring, instrumentation, >test-data generation and generative testing. > >Improved developer experience > >Error messages from macros are a perennial challenge for new (and experienced) >users of Clojure. specs can be used to conform data in macros instead of using >a custom parser. And Clojure's macro expansion will automatically use specs, >when present, to explain errors to users. This should result in a greatly >improved experience for users when errors occur. > >More robust software > >Clojure has always been about simplifying the development of robust software. >In all languages, dynamic or not, tests are essential to quality - too many >critical properties are not captured by common type systems. spec has been >designed from the ground up to directly support generative testing via >test.check https://github.com/clojure/test.check. When you use spec you get >generative tests for free. > >Taken together, I think the features of spec demonstrate the ongoing >advantages of a powerful dynamic language like Clojure for building robust >software - superior expressivity, instrumentation-enhanced REPL-driven >development, sophisticated testing and more flexible systems. I encourage you >to read the spec rationale and overview http://clojure.org/about/spec. Look >for spec's inclusion in the next alpha release of Clojure, within a day or so. > >Note that spec is still alpha, and some details are likely to change. Feedback >welcome. > >I hope you find spec useful and powerful! > >Rich > >-- >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 >--- >You received this message because you are subscribed to the Google Groups >"Clojure" group. >To unsubscribe from this group and stop receiving emails from it, send an >email to clojure+unsubscr...@googlegroups.com. >For more options, visit https://groups.google.com/d/optout. -- 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 --- You received this message because you are subscribed to the Google Groups "Clojure" group. To unsubscribe from this group and stop receiving emails from it, send an email to clojure+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.