spec is a Clojure library to describe the structure of data and functions. Specs can be used to validate data, conform (destructure) data, explain invalid data, generate examples that conform to the specs, and automatically use generative testing to test functions.
Clojure 1.9 depends on this library and provides it to users of Clojure. Thus, the recommended way to use this library is to add a dependency on the latest version of Clojure 1.9, rather than including it directly. In some cases, this library may release more frequently than Clojure. In those cases, you can explictly include the latest version of this library with the dependency info below.
NOTE: This library is alpha and subject to breaking changes. At a future point, there will be a non-alpha stable version of this library.
For more information:
- Rationale - https://clojure.org/about/spec
- Guide - https://clojure.org/guides/spec
- Spec split notice - https://groups.google.com/forum/#!msg/clojure/10dbF7w2IQo/ec37TzP5AQAJ
Latest stable release: 0.5.238
deps.edn dependency information:
org.clojure/spec.alpha {:mvn/version "0.5.238"}
Leiningen dependency information:
[org.clojure/spec.alpha "0.5.238"]
Maven dependency information:
<dependency>
<groupId>org.clojure</groupId>
<artifactId>spec.alpha</artifactId>
<version>0.5.238</version>
</dependency>
Copyright (c) Rich Hickey, and contributors, 2018-2023. All rights reserved. The use and distribution terms for this software are covered by the Eclipse Public License 1.0 (https://opensource.org/licenses/eclipse-1.0.php) which can be found in the file epl-v10.html at the root of this distribution. By using this software in any fashion, you are agreeing to be bound bythe terms of this license. You must not remove this notice, or any other, from this software.