# Generators for predicate specifications Specifications are used to generate a wide range of random data. A generator for the specification is obtained and then data is generated. ## Predicate generators ```clojure (spec-gen/generate (spec/gen int?)) ``` ```clojure (spec-gen/generate (spec/gen nil?)) ``` ```clojure (spec-gen/sample (spec/gen string?)) ``` ```clojure (spec-gen/generate (spec/gen #{:club :diamond :heart :spade})) ``` ```clojure (spec-gen/sample (spec/gen #{:club :diamond :heart :spade})) ```